rsyncはディレクトリを除外できません。

rsyncはディレクトリを除外できません。

これを使用して、rsyncある場所から別のホストの別の場所にファイルをコピーします。特定のディレクトリを元の場所から除外して、そのディレクトリのファイルがコピーされないようにします。このディレクトリのファイルは実際にはセッションデータであり、セッションの完了後に削除されます。したがって、このディレクトリを除外します。

そのために、rsync除外ディレクトリを次のように修正しました。

rsync -av --exclude '/share/web/moodle/moodledata/sessions/' --rsync-path "sudo rsync" /share/ 172.31.X.X:/share/ &>/home/fsync/rsyncjob/output."$datetime";

ただし、ログファイルでは、そのディレクトリがログファイルをコピーしようとしているため、そのディレクトリが除外されていないことがわかります。

rsync: send_files failed to open "/share/web/moodle/moodledata/sessions/sess_bnktcuvnv965dj4qtv1438o651": Permission denied (13)
rsync: send_files failed to open "/share/web/moodle/moodledata/sessions/sess_d2vvo9ip79jc13qafgq5of50s2": Permission denied (13)

このディレクトリを除外するには修正を提案してください。

ベストアンサー1

質問を投稿する前に、必ず同様のディスカッションが既にあることを確認してください。

rsyncを使用すると、/で始まるすべての除外(または含む)パスがトランスポートルートに固定されます。この例では、トランスポートのルートディレクトリは/ shareです。絶対パスではなく相対パスを使用すると機能します。

さらなる参考のため、

rsync除外ディレクトリは機能しません。

おすすめ記事