ハッシュを使用してディレクトリツリーとマニフェストファイルを比較するdiff -rのようなツールはありますか?
これが私の状況です。同一のデータセットを含む(はずの)コールドストレージアーカイブボリュームが2つあります。これらのボリュームには、アクセス頻度の低いバックアップが含まれています。最終的には、bitrotがそれらの一方または両方に到達し、その中に含まれるデータをわずかに破損することを心配しています。私は私ができる知っているdiff -r2巻と2の間で変更または消滅したファイルを見つけることが、私はボリュームが「良い」のコピーを持っているかについて何の役に立つの表示を得ることはありません。これらはUSBディスクであり、ZFSのようなものに変換するのは面倒です。 私が望むのは、ディレクトリツリーを再帰的にたどり、パスとファイル名を含むマニフェストファイルをファイルの内容のハッシュとともに書き込むツールです。データを各ボリュームに書き込んだ直後にこのツールを実行し、結果のマニフェストファイルをウォームストレージに保存します。おそらく何らかのリビジョン管理下にあります。 このファイルから、まったく同じように動作する何かを実行できるようにしたいと思いdiff -rます。ファイルが追加、削除、または内容が変更されたかどうかを教えてくれます。1つのボリュームを他のボリュームと比較する代わりに、1つのボリュームを既知の正常なマニフェストファイルと比較します。この方法を使用すると、将来ディスクの月/年から読み取っているデータが最初に置いたデータと同一であるかどうかを確認できるはずです。 私はこのような何かがすでに存在すると考えなければならないでしょう。私はマニフェストファイルに近いものを取得できます: find /mnt/my-volume -type f -exec md5sum {} + > manifest.txt しかし、これまでのところ、このファイルを解析して各ハッシュを再帰的にチェックする良い方法を思いつきませんでした。また、やや重要性は低いですが、空のディレクトリが表示されたり消えたりしたかどうかはわかりません。(なぜそれが重要なのか考えることはできませんが、それが発生したことを知ってうれしいです。) 私はこれで正しい軌道に乗っていますか、またはこのタイプのことを行うことができるより適切なツールがありますか?