it-swarm-ja.com

Ubuntu / Linuxにコピーして検証するコマンドはありますか?

すべてのデジタル写真をいくつかの場所にバックアップします。私はcpコマンドを使用してきましたが、個人的な価値を考えると、より信頼できる方法があるかどうか疑問に思われるようになりました。私はLinux、Bash、Perlなどに慣れているので、md5ハッシュをコピーして比較するために何かを書くことができましたが、何かがすでに存在しているかどうか疑問に思っていました(再発明、ホイール、その他)。

コピーと(確認|有効|チェック|ハッシュ|確認)のための私のグーグルのほとんどは、rsyncをオンにします。ただし、私が知る限り、rsyncはハッシュを使用して、ファイルを更新する必要があるかどうかを確認します。その後のハッシュ比較は行いません。

この用途では、具体的には、ファイルはバイナリで、通常は8〜10 MBです。ユーティリティやDIYソリューションのガイダンスに関するあらゆる推奨事項をいただければ幸いです。

24
nshew

man rsync-cオプションの下:

-c、--checksum:mod-time&sizeではなく、checksumに基づいてスキップします

Rsyncは常に、ファイルが転送されるときに生成されるファイル全体のチェックサムをチェックすることによって、転送された各ファイルが受信側で正しく再構築されたことを検証しますが、転送後の自動検証はこのオプションとは関係ありません転送前「このファイルを更新する必要がありますか?」小切手。

20
icyrock.com

数年前、私はあなたと同じ要求を持っていました。私が選択したソリューションは、ストレージサーバーのZFS-Fuseドライバーを介してZFSを使用することでした。私の考えでは、個人の写真、スキャンしたドキュメント、およびその他の同様のファイルは、たまにしかアクセスできないものであるため、ファイルの破損が原因であることに気づくまで、1年以上という非常に長い時間がかかる可能性がありますドライブエラーなど。

その時までに、私が持っているすべてのバックアップコピーは、ファイルのこのビットが腐ったバージョンである可能性があります。

ZFSは、ドライブがデータの読み取り中に読み取りエラーを報告しなくても、個々のディスクに保存されたデータのエラーを検出して修復できるという点で、RAID-5よりも優れています。チェックサムを介して、ディスクの1つが破損した情報を返したことを検出し、冗長データを使用してそのディスクを修復します。

ZFSでのチェックサムの設計方法により、使用頻度の低いデータを長期間保存することができると感じました。毎週「zpool scrub」を実行して、すべてのデータを確認して再読み取りし、チェックサムを検証します。

ZFS-Fuseは、過去数年間、私にとって非常に優れたパフォーマンスを発揮しています。

昔は、クライアントのために、特定のディレクトリに保存されているすべてのファイルのチェックサム情報を保存するデータベースシステムを実装していました。次に、定期的に実行してデータベースに保存されているチェックサムと照合してファイルをチェックする別のスクリプトを用意しました。これにより、破損したファイルをすばやく検出し、バックアップから復元できました。基本的に、ZFSが内部で行うのと同じ種類のチェックを実装していました。

5

https://sourceforge.net/projects/crcsum/ チェックサム検証でLinux cp&mvを拡張します

2
Hans

私はあなたが望むことだけを行うこのユーティリティ(LinuxおよびWindows)を見つけました(ハッシュコピー+ログによるハッシュ検証): http://sourceforge.net/projects/quickhash/

唯一の欠点は、GUIとしてのみ存在することです(コマンドラインアクセスなし)。

V1.5.0以降では、選択したソースフォルダーをハッシュ化してから、宛先フォルダーにコピーおよび再構築して、検証のためにコンテンツを再度ハッシュ化できます。 1.5.5以降、選択したファイルマスクも使用できます(* .doc、*。xlsなど)。

1
2072

ローカルでファイルをコピーしている場合(cpではなくscpへの参照で暗示されているように)、ソースファイルと宛先ファイルをcmpだけですが、現実的には、cpがなんらかのエラー(コマンドラインまたは実行時の戻り値のいずれか)を発行していない場合、それが機能していないと考える理由はありません。

実際に正当な冗長バックアップが必要な場合は、 dropbox のようなリモートソリューションを検討してください。

1
Brad Clawsie