rsync:ターゲットの一部のファイルは削除しますが、ソースは削除せず、他のファイルは削除しません

rsync:ターゲットの一部のファイルは削除しますが、ソースは削除せず、他のファイルは削除しません

2つのディレクトリ/.../srcが与えられると/.../des

  • 彼らはいくつかのサブディレクトリを共有share1し、share2
  • desdes1に存在しないサブディレクトリもありますsrc

srcからファイル転送(または他のお気に入りのプログラムを介してdes)を行うにはどうすればよいですか?rsync

  • 同じ名前のディレクトリに基づいて合計を更新しますshare1share2dessrc

    • des/share1に含まれていdes/share2ないすべてのファイルを削除します。src/share1src/share2
    • des/share1des/share2andにはありませんが、and内のsrc/share1すべてのファイルを追加します。src/share2
    • のすべてのファイルを更新するか、同時にすべてのファイルを更新des/share1しますsrc/share1des/share2src/share2
  • そのまま維持しますかdes/des1?ありがとうございます。

答え1

2つのオプションがあります。 rsync.

誰でも:ターゲットから未知のファイルのみを更新share1および削除share2

rsync --dry-run -avP --delete .../src/share1 .../src/share2 .../des/

または:ターゲットのすべてのアイテムを更新し、desターゲットから不明なファイルを除いて削除します。des1

rsync --dry-run -avP --delete --exclude '/des1' .../src/ .../des/

結果が満足であれば削除してください--dry-run

関連情報