私がこれを行うとき:
rsync folder/a /mnt/some/destination
結局得ますが、/mnt/some/destination/folder/a
私が望むものはfolder/a
コンテンツです。まっすぐ中/mnt/some/destination
。
次のようにすれば可能であることを知っています。
rsync folder/a/* /mnt/some/destination
ただし、問題の鍵は、この--delete
オプションには適用されないことです。このオプションを使用するにはソースがディレクトリである必要があるため、ワイルドカードは機能しません。
解決策は
cd folder/a && rsync --delete . /mnt/some/destination
作業ディレクトリを変更せずにこれを行う方法はありますか?私のシナリオはCD / CIビルド環境です。
tar -C
、または同じオプションがありますかwget --cut-dirs
?
答え1
変える:
rsync folder/a /mnt/some/destination
使用:
rsync folder/a/ /mnt/some/destination
これにより、--delete
ソースに存在しないターゲットのファイルを削除し、内容folder/a
を/mnt/some/destination/
。