如何在Linux中解释和修复输入/输出错误?


19

我正在使用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).

最好的行动方针是什么?它只是一个损坏的文件吗?还是文件位置的硬盘驱动器有问题?我应该删除它,然后将其中一个备份版本复制到文件的位置吗?还是我还有其他需要做的事情?

Answers:


15

rsync错误

 read errors mapping ....: Input/output error (5)

指示rsync无法读取或写入文件。导致此错误的最可能原因是SRC或TGT目录中的磁盘缺陷。但是,其他可能性包括权限不足,防病毒程序锁定文件以及maybe其他原因。

诊断的第一步是尝试手动复制文件。例如,如果错误源是TGT目录中的磁盘缺陷,则此方法可能起作用。通过在稍后的时间重复操作,您将写入磁盘的不同部分,并且问题可能已经消失。

或者,您可能会发现无法访问SRC目录中的文件。在这种情况下,我建议您使用发行版中可用的任何磁盘检查实用程序。

权限不足(防病毒)更易于诊断。

最后,如果您在SRC目录中有坏扇区,则可以通过以下方式将其排除在以后的rsync运行中:

rsync -av --exclude='/home/my_name/directory_with_corrupt_files/*'

谢谢!冒着另一个问题的危险,如果我可以排除特权或防病毒功能,该如何确定它是SRC目录还是TGT目录?
揭盖

防病毒软件会锁定文件一段时间。如果这是问题所在,则一段时间后重试相同的命令应该不会出现相同的错误。特权问题很容易:在SRC和TGT计算机上都使用root帐户。如果不能这样做,请检查rsync失败的文件是否可以访问,即它们属于尝试访问它们的帐户,如果没有,则您具有对它们的读取权限。如果这样可以解决您的问题,请记住接受我的回答,这对其他读者很有用。
MariusMatutiae

您误解了我上面的评论。没关系,我会问一个新问题。
揭盖

TGT只是目标,对不对?那么,最好只说目标。
贾斯珀

2

我有一个类似的问题,我有一个通过USB安装在保险丝上的设备,该设备会经常断开连接,从而导致IO错误。我的备份永远无法完成,因为IO错误将从rsync的中途开始,并且尽管反复运行rsync,但在某些时候,同步不会继续到更新现有文件为止。

我的解决方案是使用

--ignore-existing 

选项。这样,我可以循环运行同步,直到看到0退出状态。

当然,在这种情况下,我并不关心现有文件的更新。


0

我有2个使用保持同步的外部驱动器rsync。我定期在两台计算机中的任何一台上执行此任务,并且为了方便起见,经常从一台计算机切换到另一台计算机。我有4台运行Debian 9的机器,并在每台机器上使用这些驱动器。

今天早上,我使用了以下内容:

rsync -ahv --delete drive-x drive-y 

并惊讶地报告了几百次失败。

主要rsync: readlink_stat... failed: Input/output error (5)
rsync: rsync: recv_generator: mkdir ... failed: Read-only file system (30)

在查明发生什么情况的过程中,我重新安装了两次驱动器,重新启动,rsync没有运行--delete,基本上我的正常尝试是修复已经可靠工作了很长时间的某些东西。甚至考虑过rsync再次安装。在开始之前,我决定rsync在另一台计算机上离线运行两个驱动器。 rsync按照应有的方式工作。

阅读这里发布的材料后,我安装clamav,更新了签名并扫描了我的主目录。我经常在另一台机器上使用它。我找到了1个,只有1个PUA,然后将其删除。我总是删除PUA。然后,我在这台计算机上重新安装了两个驱动器,并向每个驱动器添加了不同的测试文件和文件夹。

我跑了rsync -ahv --delete drive_x drive_y,一切正常。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.