rsyncを削除から除外するにはどうすればよいですか?


31

次を使用して、rsyncを使用して複数のマシン間でファイルを同期しています。

rsync -az -e "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" \
  --delete --delete-excluded --force --exclude=.git  --exclude=.bundle \
  --exclude=tmp --exclude=log/* --exclude=*.log --exclude=*.pid \
  user@host:/path/to/src/ /var/build/dest

すべてのログファイルをソースから宛先に転送することから除外し、宛先上のすべての既存のログファイルを削除します。だから私はどちらが素晴らしい作品で使用--exclude=*.logして--delete-excludedいます。

ただし、宛先で特定のログファイルをそのまま保持したいです。--exclude-from-deleteオプションが欲しい。

これはrsyncで可能ですか?


回答:


47

「保護」フィルターは、まさにあなたが望むものを達成するはずです:

          protect, P specifies a pattern for protecting files from deletion.

関連する除外の前に次のフィルターを指定するだけです。

--filter='P my-specific-logfile.log'

(文字Pの後のスペースに注意してください。)


2
これは実際に機能します。
魚モニター
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.