我有一个问题rsyncing我的文件夹。 在我家有一个名为“工作区”的文件夹。 最近我改变了很多内容,创build了新的目录,删除了旧目录。 新的文件夹已成功地rsynced到外部磁盘,但删除的文件夹仍然在外部磁盘,不会被删除。 如果我rsync到我的另一个备份networking位置相同。 在试图调查我尝试这两个命令的原因时:
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中最近删除的文件。 没有工作区目录。
为什么它不像我所期望的那样工作? 新的文件夹被复制,但被删除的文件夹不被删除。 你可以看到我没有使用文件掩码。 我认为问题不在我排除dirs。 正如干运行所示,这也不是一个权限问题。 感谢帮助。
rsync版本3.0.9协议版本30
附加说明:如果我创build一些非空目录,并执行rsync,它们被成功复制。 当我删除这些文件夹并执行rsync时,只有当文件夹直接位于/ home / OURDOMAIN / myname(如/ home / OURDOMAIN / myname / deleteme)时,它们才会在备份中消失。 但是像/ home / OURDOMAIN / myname / tmp / deleteme这样的嵌套目录会保留所有内容,不会被删除。
rsync
返回:
23由于错误导致的部分转移
解释是:在不同的文件夹中被拒绝的权限被删除,我以为被拒绝的目录被跳过了,从man page引用:
如果发送方检测到任何I / O错误,则删除目标上的任何文件将被自动禁用。
如果它是一个备份,它应该始终是您的主文件夹的最新副本,您可以尝试使用--ignore-times
。