私のホームビデオコレクションのサイズは過去数年間で劇的に増加しており、セキュリティストレージの問題がますます大きくなっています。私は2.5 USBシンドライブに保存されている同じコレクションの3つのコピーを使用しています。私はより安全な方法があることを知っていますが、それは私には高すぎます。磁場除去によるデータ損失を防ぐために、2年ごとに新しいコピーを作成します。コピー操作を行うたびに、破損したビットが伝播するか、時間が経つとファイルが破損するかどうか心配されます。
ファイルセットの同じコピーを保持する3つのHDDドライブA、B、Cがあるとします。新しいコピーセットを完成したら、次のことをしたいと思います。
- Aのすべてのファイルのmd5チェックサムファイルのリストをAに保存します。
- BとCも同様
- AリストとBとCリストの比較。
たとえば、Aドライブの破損したビデオファイルは、AとBとCのチェックサムが異なるとマークされると予想されます(もちろん、3つの異なるチェックサムコードを見つけるのは悲しいことですが、これはまだケースではありません)
md5sum + findのようないくつかのコマンドラインツールやいくつかのレビューを読んだtripwireというソフトウェアを使ってこれを簡単に実行できますか?
ベストアンサー1
これが私がやろうとしていることです。
find > files.txt
ドライブのルートで利用可能なファイルのリストを取得するには、「files.txt」ファイルが作成されます。
その後、各ファイルのチェックサムを取得するには、を使用できますwhile read line; do shasum -a 256 $line; done < files.txt > checksums.txt
。これにより、すべてのファイルパスとそのチェックサムを含む「checksums.txt」ファイルが作成されます。
最後に、diff -y --suppress-common-lines checksums_driveA.txt checksums_driveB.txt
チェックサムを使用してファイル間に違いがあるかどうかをすばやく確認できます。
または、これを使用してdiff -r --brief directory/driveA directory/driveB
両方のディレクトリの内容が同じであることを確認することもできます。