最終更新: megaron_sanders 2016年03月14日(月) 01:41:10履歴
すんごい大事なファイルは消えてしまわないように大切にバックアップとかして扱っていると思います。
その大切なファイルをバックアップ先にコピーしても、「失敗してるんじゃ。。。」と不安になってしまう人がいるかもしれません。 私のように。
こんな場合はデータ改ざんチェックで使われるMD5やSHA1を使ってコピー前後のファイルを比較してやりましょう!
MD5やSHA1はファイルが少し破損していたり、変わったりしているだけでも、結果が大きく違うのでひと目で分かるのが特徴です。 といっても今回は機械にチェックを任せますが....
その大切なファイルをバックアップ先にコピーしても、「失敗してるんじゃ。。。」と不安になってしまう人がいるかもしれません。 私のように。
こんな場合はデータ改ざんチェックで使われるMD5やSHA1を使ってコピー前後のファイルを比較してやりましょう!
MD5やSHA1はファイルが少し破損していたり、変わったりしているだけでも、結果が大きく違うのでひと目で分かるのが特徴です。 といっても今回は機械にチェックを任せますが....
また1つ1つファイルをチェックするのはさすがにしんどいので、find を使ってテキストに出力して、比較してやります。
これをコピー前後でたとえば「backup.org」と「backup.new」で作ってやります。 ちなみに上のコマンドを説明すると
「md5sum」の代わりに「sha1sum」や「sha512sum」などいろいろな方法があります。 「md5sum」は改ざんチェックの中でも最低レベルに属するチェック計算ですが、sha512sumとかを使うと計算に時間がかかってしまって終わりません。 どうしてもという方は止めませんので、こちらをどうぞ。
参考までに出力されたファイルはこのようになってます。 最初の列はMD5のチェックサム、2番めはファイルです。
これをコピー前後でたとえば「backup.org」と「backup.new」で作ってやります。 ちなみに上のコマンドを説明すると
コマンド | 意味 |
---|---|
find . -type f | 現在のディレクトリ配下でファイルを抽出する(これでファイルのリストが出来上がります) |
while read f | 出来上がったファイルリストから1つずつレコードを取り出して「f」という変数に代入します |
md5sum "$f" | ファイルf のMD5のチェックサムを計算します |
>> ~/backup.org | 計算したチェックサムの結果を自分のホームディレクトリに「bakcup.org」で追加出力します |
do 〜 done | この間を計算対象のファイルがなくなるまで繰り返します |
「md5sum」の代わりに「sha1sum」や「sha512sum」などいろいろな方法があります。 「md5sum」は改ざんチェックの中でも最低レベルに属するチェック計算ですが、sha512sumとかを使うと計算に時間がかかってしまって終わりません。 どうしてもという方は止めませんので、こちらをどうぞ。
参考までに出力されたファイルはこのようになってます。 最初の列はMD5のチェックサム、2番めはファイルです。
残念ながら出力したファイルはコピー前後ご同じ並びとは限りません。 なのでソートして順番を合わせてやります。
パス名でsortするので2番めのフィールドでソートするために、「sort -k 2,2」を使っています。
sort -k 2,2 backrup.org > Backup.org
パス名でsortするので2番めのフィールドでソートするために、「sort -k 2,2」を使っています。
コメントをかく