2つのディレクトリがあります/test
。
$ ls /test/
dir1 dir2
私は走る:
$ rsync --recursive --links --perms --executability --times --delete /dir2 /test/
私の期待は/test/dir1
取り除かれることでしたが、そうではありませんでした。これを達成する方法はありますか? rsyncオプションのどれも何も--delete*
しないようです。
ありがとうございます。マーティン
答え1
/
/dir2
ソースパスの末尾に()がないため、rsync
と同期を示します。追加すると、存在しないコンテンツはすべて削除されます。/dir2
/test/dir2
--delete
rsync
/test/dir2
/dir2
いかなる支店も訪問または考慮されません/test/dir1
。
/dir2/
ただし、これをソースパスとして使用すると同期されrsync
ます(ではありません)。追加すると、存在しない場合も存在しないため、両方が削除されます。/dir2
/test
/test/dir2
--delete
/test/dir2
/test/dir1
/dir2/dir1
/dir2/dir2
宛先パスの末尾/
は関係ありませんが、ソースパスの後続は、ソースディレクトリを/
宛先パスの下の別々のディレクトリに同期するか(使用/
)、またはrsync
宛先パス自体と同期するか(使用/
)を決定します。