Linuxで入出力エラーを解釈および修正する方法


21

rsyncで毎日バックアップを実行しています。数日前から、ファイルの1つがバックアップ中にこのエラーをスローしています。

rsync: read errors mapping "/home/folder/file.ext": Input/output error (5)
WARNING: /home/folder/file.ext failed verification -- update discarded (will try again).

最善の行動は何ですか?それは単なる壊れたファイルですか?または、ファイルの場所にあるハードドライブに何か問題がありますか?削除して、バックアップバージョンの1つをファイルの場所にコピーするだけですか?それとも、私がすべき他の/もっとあることはありますか?

回答:


17

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が失敗したファイルがアクセス可能であること、つまり、それらがアクセスしようとしているアカウントに属しているか、そうでない場合は読み取りアクセス権があることを確認してください。これがあなたの問題を解決するなら、plsは私の答えを受け入れることを忘れないでください、それは他の読者に役立ちます。
MariusMatutiae

上記の私のコメントを誤解されました。気にしないで、新しい質問をします。
発見

TGTは単なるターゲットですよね?その場合、単にターゲットと言う方が良いかもしれません。
ジャスパー

あなたの答えが、記事bobcares.com/blog/rsync-input-output-error_5全体(もちろん、参照なし)を生み出したようです。
ヤロスラフニキテンコ

3

同様の問題がありました。USBを介してヒューズ搭載デバイスを使用すると、頻繁に切断され、IOエラーが発生しました。IOエラーがrsyncの途中で開始されるため、バックアップが終了できず、rsyncを繰り返し実行しても、ある時点で既存のファイルの更新を超えて同期が進まないためです。

私の解決策は

--ignore-existing 

オプション。この方法で、終了ステータスが0になるまでループで同期を実行できます。

もちろん、この場合、既存のファイルの更新については気にしませんでした。


0

を使用して、同期を維持する2つの外部ドライブがありますrsync。私はこの作業を2台のマシンのいずれかで定期的に実行し、便宜上、一方から他方に頻繁に切り替えます。Debian 9を実行している4台のマシンがあり、それぞれでこれらのドライブを使用しています。

今朝、私は次のものを使用しました。

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)

何が起こったのかを調べるプロセスで、ドライブを2回再マウントし、再起動し、実行しrsyncません--deleteでした。rsync再びインストールすることも考えました。それを行う前にrsync、オフラインで実行する他のマシンの2台のドライブに決定しました。 rsync本来の方法で機能しました。

ここに投稿された資料を読んで、私はインストールしclamav、署名を更新し、ホームディレクトリをスキャンしました。私はこれを別のマシンで定期的に使用しています。私は1つだけのPUAを見つけ、削除しました。私は常にPUAを削除します。次に、このマシンで2つのドライブを再マウントし、各ドライブに異なるテストファイルとフォルダーを追加しました。

私は走りましたがrsync -ahv --delete drive_x drive_y、すべてがうまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.