Rsync无法删除本地不存在的远程文件

Rsync无法删除本地不存在的远程文件

考虑我的本地文件夹

/tmp/foo/
/tmp/foo/1.txt
/tmp/foo/2.txt
/tmp/foo/3.txt

和我的远程文件夹

/tmp/foo/
/tmp/foo/1.txt
/tmp/foo/2.txt
/tmp/foo/4.txt

/tmp/foo在我的本地,我在文件夹中运行命令

rsync --exclude=3.txt -avcz --delete * ubuntu@server:/tmp/foo/

我能够同步我的文件3.txt,但4.txt远程仍然存在,为什么?

答案1

它不会删除,4.txt因为您正在使用, ie 对各个源文件运行rsync命令。*因此,rsync甚至不考虑4.txt(或包含的目录)。相反,在包含源的目录上运行它,通过将 更改为*然后.rsync可以查看整个目录,看看缺少什么。

rsync --exclude=3.txt -avcz --delete . ubuntu@server:/tmp/foo/

相关内容