rsync不会删除目标中的文件夹

我知道在这里有一些相同的主题的任务,但没有答案帮助我。

首先,这是我的脚本。 它应该从源文件复制到目的地(保留所有权利等)。 如果文件或目录在源中被删除,它也应该在目标中被删除。 哪个不正确工作。

#!/bin/bash ## Basic RSync Command RCMD="rsync -rulpEXogtzh --stats --delete --force" DDIR="/tank/bak/s1/archive/" SDIR="/tank/bak/s1/backup/" CDAY=`date '+%u'` echo "Archive Number: ${CDAY}" echo "Archiving current backup" $RCMD $SDIR $DDIR/$CDAY 

如果我在源中有以下目录:

 /etc /home /root /usr 

并同步它们我在目标中有以下目录:

 /etc /home /root /usr 

所以这工作正常。 现在,当我从源代码删除/ usr时,我的源代码如下所示:

 /etc /home /root 

但是当我再次运行脚本时,我的目标仍然是这样的:

 /etc /home /root /usr 

所以不知何故rsync忽略 – 删除

rsync输出这个:

 Number of files: 1983645 Number of files transferred: 0 Total file size: 17.69G bytes Total transferred file size: 0 bytes Literal data: 0 bytes Matched data: 0 bytes File list size: 42.68M File list generation time: 0.083 seconds File list transfer time: 0.000 seconds Total bytes sent: 42.68M Total bytes received: 4.70K sent 42.68M bytes received 4.70K bytes 155.52K bytes/sec total size is 17.69G speedup is 414.50 

有没有人知道为什么?

谢谢你的回答!

如果权限禁止,或者目录不为空,则该目录不会被删除。 经常有文件不能被删除,因为它们是不可变的或以其他方式保护的。 ls -a /usr在目标上显示什么?

您可能想要尝试使用--force-delete标志,但首先使用-n--force-delete运行模式)运行它,看看它会删除什么。