2つのリモートサーバー間のファイルチェックサムの比較

2つのリモートサーバー間のファイルチェックサムの比較

私のローカルボックスには"machineA"2つのフォルダ"/primary""/secondary"。これら2つのフォルダにはいくつかのファイルがあります。これで、リモートサーバーに多数のファイルを含むフォルダが"machineB"あります。"/bat/snap/"

のすべてのファイルと"/primary"フォルダ"/secondary"は、リモートサーバーのこのディレクトリに"machineA"ある必要があります。これで、ローカルボックスのすべてのファイルとフォルダのチェックサムをそのディレクトリのリモートサーバーと比較する必要があります。チェックサムに矛盾がある場合は、問題のすべてのファイルを報告したいと思います。"machineB""/bat/snap/""/primary""/secondary""machineA""/bat/snap/""machineA"

ここでmd5checksumを使用する必要がありますか?

修正する

これは私が実行しているコマンドです"machineA"

find /primary/ /secondary/ -type f | xargs md5sum | ssh machineB '(cd /bat/snap/ && md5sum -c)' | egrep -v 'OK$'

以下は、上記のコマンドを停止した後に受け取ったエラーです。両方のサーバーを確認しましたが、このファイルが存在することがわかりますが、何が間違っていますか?

md5sum: /primary/abc_monthly_134_proc_7.data: No such file or directory
/primary/abc_monthly_134_proc_7.data: FAILED open or read

答え1

この目的md*sumのために様々な文書が作成されます。

マシンAから:

find primary secondary -type f | xargs md5sum > checksum.md5

(ファイルをコンピュータBにコピー)

機械B:

md5sum -c checksum.md5

編集する:単一のコマンドに結合されました。find primary secondary -type f | xargs md5sum | ssh machineB '(cd /location_on_B/ && md5sum -c)' | egrep -v 'OK$'

(別のオプションは、Tellを使用してrsync試用モードで実行することです--checksum。)

関連情報