考虑我的本地文件夹
/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/