【问题标题】:Rsync not deleting [closed]Rsync不删除[关闭]
【发布时间】:2011-10-23 00:03:36
【问题描述】:

我已设置 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,但它永远不会这样做。任何帮助表示赞赏。

【问题讨论】:

    标签: linux centos sync rsync mirror


    【解决方案1】:

    我可以改用这个来解决这个问题:

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

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

    【讨论】:

    • /home/(a)/public_html/ 中的尾随 / 是解决此问题的更改吗?
    • 为什么不报告您所做的更改,谢谢
    • 当我在目录名称(排除、目标和源目录名称)后面加上尾随“/”时,一切正常。
    【解决方案2】:

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

    例如:

    --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
    

    真的建议通读该手册页,因为有很多有用的选项。

    【讨论】:

      猜你喜欢
      • 2012-02-01
      • 2010-10-22
      • 1970-01-01
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-08
      相关资源
      最近更新 更多