Rsync不删除文件

7
我已经配置了rsync以从源服务器(a)镜像一个目录到另一台镜像服务器(b)。我已经让它发送源上的新文件,但是当我从源中删除文件时,它并没有将其删除。
以下是我用来调用rsync的内容:
rsync -vhzrplt --stats --delete --rsh='/usr/bin/ssh -q'  --exclude="core/" --exclude="cache/" /home/(a)/public_html (b):/home/(b)/public_html/

当我运行rsync时,我会得到以下输出:
stdin: is not a tty
sending incremental file list
public_html/
deleting public_html/test.html

Number of files: 389
Number of files transferred: 0
Total file size: 3.16M bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 9.25K
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 9.33K
Total bytes received: 47

sent 9.33K bytes  received 47 bytes  1.25K bytes/sec
total size is 3.16M  speedup is 336.81

从图中可以看到,它显示正在删除test.html文件,但实际上并没有执行。欢迎提供任何帮助。

2个回答

1

rsync 有很多选项 -- 请参阅 man rsync

e.g.:

--del                   an alias for --delete-during
--delete                delete extraneous files from dest dirs
--delete-before         receiver deletes before transfer (default)
--delete-during         receiver deletes during xfer, not before
--delete-delay          find deletions during, delete after
--delete-after          receiver deletes after transfer, not before
--delete-excluded       also delete excluded files from dest dirs

强烈建议仔细阅读该手册,因为有很多有用的选项。


1

我使用了以下代码,成功地解决了这个问题:

rsync -vhzrplt --stats --delete --rsh='/usr/bin/ssh -q'  --exclude="core/" --exclude="cache/" /home/(a)/public_html/ (b):/home/(b)/public_html/

为文件夹路径添加尾部斜杠。


2
/home/(a)/public_html/路径中的尾部加上/是否解决了这个问题? - Vilhelm Gray
为什么不报告你所做的更改,谢谢。 - cmcginty
当我在排除、目标和源目录名称后加上尾随的“/”时,一切都正常工作。 - B.I.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接