不良ディスクヘッド、不良モーター、またはハードドライブがデータを非常にゆっくりと大量に読み取る原因となるその他の問題など、潜在的な機械的問題のために読み取りに失敗する不良ブロックまたはセクターのハードドライブがあります読み取りエラー。平均50 KB /秒で、一部の読み取りが10 KB /秒未満に低下し、通常は2〜10分以上(非常に長い時間)ファイルまたはセクター全体で停止することがよくあります。タイムアウトする前にrsyncを使用します)。
速度は大幅に変化するようで、ファイルに多くのスタックが発生します。最終的に「スタック」が解除されると、再びスタックする前に短いバーストが続くだけです。また、ドライブは非常に静かで、ファイルコピーの音がときどきあります(通常は、再びスタックする前に、短時間スタック/スタックが解除されたとき)。したがって、通常、HDDの死に関連する悪音はありません。誰かが、問題の原因はディスクヘッドの位置ずれが原因であるように聞こえるのではないかと示唆しました。ディスクヘッドは、データを正常に読み取る前に多くの再読み取りが必要です。もっともらしいですが、私は脱線します...
とにかく、rsyncの問題は、適切なエラー処理サポートがないように見えることです。もちろん、それはハードドライブの失敗からデータを回収するのに使用するためのものではありませんでしたが、そこにすべての、いわゆる「データ復旧」ユーティリティされているように使用するためのもので、通常は削除されたファイルまたはめちゃめちゃパーティションの回復に焦点を当てるのではなく、死にかけているハードドライブからファイルをコピーします。削除されたファイルの回復は明らかに私が必要なものではないので、おそらくあなたは私がまだ何を求めているのか見つけられないという失望を理解できるでしょう。
当然、これはおそらく「ddrescueを使用する必要があります!」と言うところです。まあ、それはすべてうまくできていますが、ほとんどのデータはすでにバックアップされているので、特定のファイルを回復したいだけです。ddrescueのように、完全なパーティションをブロックごとに回復しようとすることには関心がありません。特定のファイルとディレクトリだけを救うことに興味があります。
理想的には、rsyncとddrescueの間のある種のクロスです。ソースと宛先をrsync(ddrescueが必要とする2つの完全なパーティションではなく)のような通常のファイルのディレクトリとして指定できるようにします。最初の実行でエラーが発生し、その後の実行でエラーが発生したファイルのリカバリを試みることができます(もちろん、少し変更されたコマンドを使用して)。 ddrescueがブロックでどのように機能するか、rsyncのように特定のファイル/ディレクトリで機能するユーティリティのみが必要です。
だから私はここで空想にふけっているのか、それを可能にする何かがそこに存在するのか?または、rsyncまたはddrescueをこのような方法で動作させる方法もありますか?私は「救助」したいファイルを選択でき、最初の実行でエラーのあるファイルをスキップし、後でそれらのエラーを再試行/再試行できる限り、どんなソリューションでもうまくいくでしょう。
これまでのところ、次のオプションでrsyncを試しましたが、多くの場合、タイムアウトよりも長い間ファイルにスタックします。理想的には、次のファイルに移動して、後で取得したファイルに戻るようにしたいです立ち往生。私はそれが可能だとは思わない。とにかく、これまで私が使ってきたものは次のとおりです。
rsync -avP --stats --block-size=512 --timeout=600 /path/to/source/* /path/to/destination/