我更新了我的rsync 忽略文件并使用该--delete-excluded
标志从目标端删除现在冗余的文件。rsync 无法完成任务,因为我lost+found/
在所述文件中有以下行:
rsync: [generator] opendir "/mnt/text/lost+found" failed: Permission denied (13)
IO error encountered -- skipping file deletion
我的命令:
rsync --archive --no-compress --info=progress2 --human-readable --exclude-from='rsync.exclude.txt' --delete-excluded $HOME/ /mnt/text/
作为系统目录lost+found
无法删除。
我记得lost+found
至少在 Fedora 33(在发送端)上出现权限错误,因此已经排除了该文件夹。在我当前的 Fedora 35 上,rsync 可以正常工作(如果相关,当前目录中没有数据)。
是否真的需要手动排除文件夹或者我遇到了错误(结果误解了 rsync 的功能)?这意味着当使用默认设置时,由于 I/O 错误,rsync 在 Linux 下总是会失败......
首先,回答您提出的问题,“默认情况下 rsync 是否处理 lost+found 目录? ”如果您已将其包含在范围内,答案是肯定的。
rsync -av / remoteHost:/some/path
将尝试包含所有文件和目录 - 并且将在当前用户无法访问的文件或目录上失败,包括/lost+found
如果您不是 root 用户。(它也会在大多数情况下失败,/proc
但/sys
原因不同。)现在,将问题作为一个整体来看待。这似乎是一次性删除您现在从源副本中排除的文件和目录。
您不能真正
lost+found
从排除中排除,因此最简单的解决方案是包含该--ignore-errors
标志。这将允许删除您有权删除的文件和目录。您仍然会收到一个错误,lost+found
但它不会阻止其他删除。完成此操作后,您应该恢复您的处理,以便您不再拥有
--delete-excluded
或--ignore-errors
。