rsyncの- -excludeオプション

6月 19, 2010

rsyncの対象から特定のディレクトリやファイルを除外したい時は、–excludeオプションを利用する。

# rsync -a – -exclude ‘xxxxx’ /var/log/ /backup/


対象が複数の場合は- -excludeを繰り返す。

# rsync -a – -exclude ‘xxxxx’ – -exclude ‘*****’ /var/log/ /backup/


除外対象が多数ある場合は別途リストファイルを作成し、- -exclude-from File とする。
- -excludeの指定の仕方だが、- – exclude ‘xxxxx’ でも、- – exclude =”xxxxx”でもどちらでもいける。
また対象はファイルでもディレクトリでもOK。
気をつけるとしたら、除外対象はフルパスではなくsync元の相対パスで指定する。
sync元ディレクトリの末尾には「/」をつける。

# rsync -a – -exclude ‘xxxxx’ /var/log/ /backup/ ←普通こっち

# rsync -a – -exclude ‘xxxxx’ /var/log /backup/ ←普通望まない結果に。。


以前の投稿にもうっすら書いてはいるが、つい忘れがちなのでしつこく書いておく。
rsyncはよく理解しておかないとハマりまくることになる。
nまたは- -dry-runオプションで、実際には処理を行わず処理内容を出力してくれるらしい。
こういった機能を利用するのもいいだろう。

関連記事
rsyncの- -link-destオプションは便利そうだ
Linuxでのバックアップ


Categories: Linuxコマンド