rsync 不删除文件夹

rsync 不删除文件夹

我在 rsync 文件夹时遇到问题。我的主目录中有一个名为“workspace”的文件夹。最近我对其内容进行了大量更改,创建了新目录,删除了旧目录。新文件夹已成功 rsync 到外部磁盘,但已删除的文件夹仍在外部磁盘上,未被删除。如果我 rsync 到我的其他备份网络位置,情况也是如此。在尝试调查原因时,我尝试了以下两个命令:

    rsync -nav --delete --exclude='.gvfs' --exclude='.cache' --exclude='.thumbnails' /home/OURDOMAIN/myname/workspace /run/media/myname/VERBATIM/backup/myname > dryrun.txt

经过这次试运行后,dryrun.txt 文件包含工作区文件夹中所有要删除的文件和文件夹,并标有“删除”,这样就没问题了。但我想对整个主目录运行 rsync 命令,但它不起作用。使用命令:

    rsync -nav --delete --exclude='.gvfs' --exclude='.cache' --exclude='.thumbnails' /home/OURDOMAIN/myname /run/media/myname/VERBATIM/backup > dryrun2.txt

现在 dryrun2.txt 中标有“删除”的行仅针对 .local 和 .config 中最近删除的一些文件。工作区目录中没有任何内容。

为什么它没有像我预期的那样工作?新文件夹被复制了,但已删除的文件夹没有被删除。如您所见,我没有使用文件掩码。我认为问题不在我的排除目录中。如试运行所示,这也不是权限问题。谢谢帮助。

rsync 版本 3.0.9 协议版本 30

附加说明:如果我创建一些非空目录并执行 rsync,它们将被成功复制。当我删除这些文件夹并执行 rsync 时,只有当文件夹直接位于 /home/OURDOMAIN/myname 中(例如 /home/OURDOMAIN/myname/deleteme)时,它们才会在备份中消失。但嵌套目录(如 /home/OURDOMAIN/myname/tmp/deleteme)会保留其所有内容,不会被删除。

答案1

rsync返回:

23 因错误导致部分传输

解释是:在不同的文件夹中拒绝权限被禁用删除,我认为被拒绝的目录被跳过了,引用手册页:

如果发送端检测到任何 I/O 错误,则将自动禁用目标端任何文件的删除。

答案2

如果它是一个备份,并且它应该始终是您的主文件夹的最新副本,您可以尝试使用--ignore-times

相关内容