文件foo.txt存在于远程计算机上:/home/user/foo.txt
它在本地计算机上不存在.
我想使用rsync删除foo.txt.
我不知道(并且为了这个问题的目的而假设我无法找到)本地或远程机器上/ home/user中的其他文件,所以我不能只是同步整个目录.
我可以使用什么rsync命令删除远程计算机上的foo.txt?
试试这个:
rsync -rv --delete --include=foo.txt '--exclude=*' /home/user/ user@remote:/home/user/
(强烈建议--dry-run
首先运行测试)虽然看起来使用ssh会更容易...
ssh user@remote "rm /home/user/foo.txt"
这有点微不足道,但如果像我一样,你来到这个页面寻找一种方法来使用rsync从远程服务器删除目录的内容,这就是我这样做的方法:
创建一个空的模拟文件夹:
mkdir mock
与之同步:
rsync -arv --delete --dry-run ~/mock/ remote_server:~/dir_to_clean/
--dry-run
从上面的行中删除实际做的事情.