私はバックアップを作成するためにext4ファイルシステムの外付けハードドライブを使用しています。私が使っているバックアップソフトウェア(faubackup)は、ファイル階層1:1をハードドライブのタイムスタンプ付きのフォルダにコピーし、内容が同じファイルに変更されていないファイルの新しいコピーをハードリンクするように増分バックアップを作成します。前回のバックアップの対応するサブフォルダにあります。私は最近バックアップドライブが死んでしまったので、書き込まれたすべてのファイルが実際にI / Oエラーなしで読めることを確認したいので、バックアップに頼ることができます。
そのための1つの方法は、パーティション全体を読むことです。によって dd
それに /dev/null
。ただし、ディスクは3TBの大きさであり、そのためには約7時間かかります(USB 3.0経由)。
別の方法は使用することです e2fsck
とともに -c
オプションが、これも年齢がかかります。
ディスク全体をチェックするのではなくファイルだけをチェックすることで、プロセスを高速化することが可能であるべきだと私は思います。これは可能である。すべてのファイルをtarアーカイブに書き込みます。これはディスクには書き込まれませんが、 /dev/null
。ここで問題はハードリンクです。私が10の増分バックアップを言ったとしたら、そのための記憶域はディスクのほんの一部に過ぎませんが、それはそれより約10倍大きいように見えます。
私の質問: ディスク上のファイルだけを読み取る方法はありますか。同じ記憶領域にハードリンクしているファイルの各セットに1つだけ読み取る方法はありますか?または作る方法はありますか e2fsck -c
それとも似たようなものだけがファイルシステムの使用された部分(割り当てられたブロック)をチェックしますか?