元の投稿はかなり古いことに気づきましたが、この情報は、ファイルが正しくコピーされていることを確認するための解決策を探している人にとって、まだ価値があると思います。Rsyncはデータをコピーするための最良の方法である可能性があり、このスレッドで与えられた回答は適切ですが、Linuxの経験がない人のために、より詳細な説明を提供しようと思います。
シナリオ:たくさんのサブディレクトリとファイルを使用して、ディスクから別のディスクにデータをコピーしたところです。すべてのデータが正しくコピーされていることを確認します。
まず、コマンドを発行して、md5deepがインストールされていることを確認しmd5deep -v
ます。
「コマンドが見つかりません」のようなメッセージが表示された場合は、md5deepをでインストールしてくださいapt-get install md5deep
。
通常のファイルのみを処理することを想定しています。他のタイプのファイルを扱いたい場合は、md5deepマニュアルの-oフラグを参照してください。(man md5deep
)
これで準備は完了です。ファイルをから/mnt/orginal
にコピーしたと想定し/mnt/backup
、使用しているディレクトリをこれらのファイルに置き換えます。
最初にソースディレクトリに変更します。これは、コピーまたはバックアップしたファイルの元のソースです。
cd /mnt/orginal
次に、各ファイルのチェックサムを作成します。
md5deep -rel -o f . >> /tmp/checksums.md5
このコマンドの説明:
-r
再帰モードを有効にします
-e
進行状況インジケーターを表示します
-l
相対ファイルパスを有効にします。
-o f
通常のファイルでのみ機能します(ブロックデバイス、名前付きパイプなどではありません)
.
現在のディレクトリから開始するようにmd5deepに指示します。
>> /tmp/checksums.md5
すべての出力をにリダイレクトするようにmd5deepに指示し/tmp/checksums.md5
ます。
注意、あなたは、以前のバージョンのコンテンツ上書きしたい場合は/tmp/checksums.md5
、使用>
していないが>>
io-speedとデータのサイズによっては、このコマンドにかなり時間がかかる場合があることに注意してください。niceやioniceを使ってmd5deepのパフォーマンスを向上させることもできますが、それはこの回答の範囲外です。
チェックサムの作成が完了すると、次のようなエントリを持つファイルが作成されます。
69c0a826b29c8f40b7ca5e56e53d7f83 ./oldconfig-11-09-2013/etc2/apm/event.d/20hdparm 651f3c7f79a14332f9fa7bb368039210 ./oldconfig-11-09-2013/etc2/apm/event.d/anacron 50d89ffb97bb96bb9695bf9595f68f98f98c98f98c98f98f98c98f98f68f97c98f95f81f7f7f7f7fd9f80f64f97f95f68f7f7f7f7f7f7f7f7c7f80f64f8f8f8f64f8f8f8f8f8f8f8f8f8fbfbfbfbfbfb台オートコンベンション69c0a826b29c8f40b7ca5e56e53d7f83 ./oldconfig-11-09-2013/etc2/apm/event.d/20hdparm /etc2/apm/scripts.d/alsa e9b9131660a8013983bc5e19d7d669eb ./oldconfig-11-09-2013/etc2/ld.so.cache
最初の列はmd5チェックサムで、2番目の列はチェックサムが属するファイルへの相対パスです。
チェックサムファイルに存在するファイルの数を確認するには、次のコマンドを発行します。
wc /tmp/checksums.md5 -l
次に、コピーしたデータが正しいことを確認します。
cd /mnt/backup
md5deep -o f -reX /tmp/checksums.md5 . >> /tmp/compare.result
チェックサムを作成したときとの唯一の違いは、-Xで、checksums.md5ファイルのエントリが一致しない場合にファイルの現在のハッシュを表示します。したがって、テストの終わりまでに、/tmp/compare.result
が空の場合、チェックサムが一致するため、すべてのファイルが正しくコピーされていると信頼できます。
ファイルにリストされている/tmp/checksums.md5
ファイルのみが正しいチェックサムについてチェックされることに注意してください。/mnt/backup
ディレクトリに追加のファイルがある場合、md5deepはそれらについて通知しません。
ノート:
sudo apt-get install md5deep
md5deep -rel /path/to/your/directory/ > directory_hash.md5
md5deep -X directory_hash.md5 -r /path/to/your/second/direcotory
Thxたくさん。