特定のファイル(たとえば* .jpg)のみをミラーリングしたいのですが、rsyncは宛先ホスト上に* .jpgファイルを含まない空のディレクトリを作成します。
私の構文は次のとおりです。
rsync -arv
--include '*/'
--include '*.flv'
--exclude '*'
Host_source/ Host_dest/
* .jpgに一致するすべてのパスとファイルパターンでファイルを作成しようとしています。
find source/ -iname *.jpg > myfiles.txt
/* and I use "sed" to filter the parent path to be OK */
だから、今私は実行します:
rsyn -ar --files-from=myfiles.txt Host_source/ Host_dest/
それはうまくいきます。 「Host_dest」には空のディレクトリは作成されませんが、「Host_source」で削除する必要のあるファイルが「Host_dest」にある場合、rsyncはそれらを削除しません。
では、rsyncに「ルック」ファイルパターンのみを指示し、Host_destに空のディレクトリを作成しないようにするにはどうすればよいですか?
私が夢中になる前に答えてくれてありがとう:)
man rsync:
-m, --Prune-empty-dirs Prune empty directory chains from file-list
コマンドラインから再帰オプションを削除してみてください
rsync -a --files-from = myfiles.txt Host_source/Host_dest /