rsync 如果源中不存在,则从目标中删除文件

use*_*856 11 rsync 12.04 14.04

好的,所以我已经在这里和其他地方查找了现有的答案,但我无法找到的是,如果我将--ignore-existing选项与选项一起使用,如果没有,我--delete是否仍然可以让 rsync 从目标中删除文件不再存在于源中并且仍然阻止 rsync 覆盖目标中的现有文件?

谢谢

hee*_*ayl 13

是的,--delete--ignore-existing选项rsync将一起工作。

这是一个测试(特别是检查修改时间):

:~/foo$ ls -l
-rw-rw-r-- 1 user user 0 Mar 27 14:38 egg.txt
-rw-rw-r-- 1 user user 0 Mar 27 14:38 ignore.txt
-rw-rw-r-- 1 user user 0 Mar 27 14:38 spam.txt

:~/bar$ ls -l
-rw-rw-r-- 1 user user 0 Mar 27 14:40 ignore.txt
-rw-rw-r-- 1 user user 0 Mar 27 14:40 remove.txt

$ rsync -r --delete --ignore-existing ~/foo/ ~/bar/

:~/bar$ ls -l
-rw-rw-r-- 1 user user 0 Mar 27 14:42 egg.txt
-rw-rw-r-- 1 user user 0 Mar 27 14:40 ignore.txt
-rw-rw-r-- 1 user user 0 Mar 27 14:42 spam.txt
Run Code Online (Sandbox Code Playgroud)