web-dev-qa-db-ja.com

rsyncが特定のパターンに一致する宛先ファイルを削除しないようにします

Rsyncを使用して、ソースから宛先にファイルを同期しています。

rsync -av --delete source destination

ソース側にない宛先側に単一のディレクトリがあります。 rsyncがこのディレクトリを削除しないようにしたいと思います。同期時にこのディレクトリが削除されないように、rsyncに渡すことができるオプションはありますか?

38
turtle

--excludeを使用して、ファイル/ディレクトリを除外できます。これにより、somedirディレクトリが同期/削除されなくなります。

rsync -avrc --delete --exclude somedir source destination
47
kielni

同様の質問 で述べたように、これはprotectルールで--filterオプションを使用することで達成できます:

$ rsync ... --filter 'protect /remote-directory-to-keep/' ...

現在受け入れられている回答とは異なり、--filterを使用すると便利です。たとえば、--exclude--delete-excludedとともに使用する場合も便利です。

40
asaveljevs