台本を書いています。アイデアは、ローカルファイルとリモートファイル間のMD5チェックサムを比較することです。
ローカルファイルチェックサムはローカル変数に保存されます。
LOCALMD5=!chsum "$(basename "$file")"
リモートファイルのmd5チェックサムを取得するには、このスクリプトをお勧めします。する:
ssh user@remote-dns-name
cd path/to/file
csum -h MD5 >MD5-hashsum-filename
SSH環境で正常に実行できると仮定すると、そのコマンドのcsum
出力を後で使用できるローカル変数にリセットするにはどうすればよいですか?
答え1
csum
STDOUTでキャプチャできるはずですssh
。
csum
ハッシュとファイル名を含む完全な出力を取得するには、次の手順を実行します。
bash-$ remoteMD5=$(ssh user@remote-dns-name "csum -h MD5 /full/path/to/file")
bash-$ echo $remoteMD5
723fc34e606a4d0002fe86f417be5f56 /full/path/to/file
あるいは、単にハッシュを返すこともできます。
bash-$ remoteMD5=$(ssh user@remote-dns-name "csum -h MD5 /full/path/to/file" | awk '{print \$1}'")
bash-$ echo $remoteMD5
723fc34e606a4d0002fe86f417be5f56