我正在使用 rsync 运行每日备份。从几天前开始,其中一个文件在备份期间一直抛出此错误:
rsync: read errors mapping "/home/folder/file.ext": Input/output error (5)
WARNING: /home/folder/file.ext failed verification -- update discarded (will try again).
Run Code Online (Sandbox Code Playgroud)
最好的做法是什么?它只是一个损坏的文件吗?或者文件所在位置的硬盘驱动器有问题?我应该删除它并将备份版本之一复制到文件的位置吗?或者还有其他/更多的事情我应该做吗?
Mar*_*iae 21
rsync 错误
read errors mapping ....: Input/output error (5)
Run Code Online (Sandbox Code Playgroud)
表示 rsync 无法读取或写入文件。此错误最可能的原因是磁盘缺陷,无论是在 SRC 还是在 TGT 目录中。然而,其他可能性包括权限不足、防病毒程序锁定文件以及maybe其他原因。
诊断的第一步是尝试手动复制文件。例如,如果错误的来源是 TGT 目录中的磁盘缺陷,这可能会起作用;通过稍后重复该操作,您将写入磁盘的不同部分,问题可能已经消失。
或者,您可能会发现无法访问 SRC 目录中的文件。在这种情况下,我建议您使用发行版可用的任何磁盘检查实用程序。
权限不足,防病毒,更容易诊断。
最后,如果您的 SRC 目录中有坏扇区,您可以通过以下方式将其从 rsync 的未来运行中排除
rsync -av --exclude='/home/my_name/directory_with_corrupt_files/*'
Run Code Online (Sandbox Code Playgroud)
我有一个类似的问题,我有一个通过 USB 安装保险丝的设备,它经常断开连接,导致 IO 错误。我的备份永远无法完成,因为 IO 错误会在 rsync 中途开始,尽管重复运行 rsync,但在某些时候同步不会超出更新现有文件的进展。
我的解决方案是使用
--ignore-existing
Run Code Online (Sandbox Code Playgroud)
选项。这样我就可以循环运行同步,直到看到 0 退出状态。
当然,在这种情况下,我并不关心对现有文件的更新。
| 归档时间: |
|
| 查看次数: |
88926 次 |
| 最近记录: |