http://nosa.cocolog-nifty.com/sanonosa/2010/10/post-46cc.html
上記は便利だが、個別にファイルを作る必要があるのと、パスワードなしで各サーバにSSH接続できる必要があるようなので、試作
HS=192.168.1.100;TF=/etc/target.conf ;ssh root@$HS "LANG=C ls -l $TF" | tee /tmp/_1`basename $TF` ;LANG=C ls -l $TF > /tmp/_2`basename $TF` ; scp $HS:$TF /tmp/ ;diff -u $TF /tmp/`basename $TF` && diff -u /tmp/_1`basename $TF` /tmp/_2`basename $TF` && echo OK
HS:比較先IPアドレス
TF:対象ファイル
比較元はlocalhost
シェルからの直接実行を想定
対象はテキストの設定ファイル
内容とパーミッション等を比較
要改善個所
- /tmp以下にゴミが溜まる点
- 更新日がことなると違うファイルと認識
- バイナリファイル未対応
- 大容量ファイル未対応