« WEB上からrsyncを実行する方法 | Main | WEB上からapacheの生ログを見ることができるようにするプログラム »

October 26, 2010

サーバ間の設定ファイル差異を比較するスクリプト

サーバ台数が増えてくると、例えば同じ種類のサーバをスケールアウトしているとき、1台だけ設定ミスがあったとしてもなかなか気付きづらくなります。サービスの安定稼動のためにはこういった些細なミスは完全に潰しておく必要があります。そこで今回はサーバ間の設定ファイル差異を比較するスクリプトを作りましたのでご紹介してみます。


【前準備】
まずはこちらでも記したような方法で、パスワードなしで各サーバにSSH接続できるようにしておいてください。

【サーバ間の設定ファイル差異を比較するスクリプト】
下記スクリプトをどこかに保存してください。ファイル名は便宜上「filediff.sh」とでもしておきます。そして、今回比較するファイル名を羅列し、かつサーバ番号(下記の例だと10.0.0.1の設定ファイルを10.0.0.2~10の設定ファイルと比較しています)を書き換えてください。

$ cat > filediff.sh

~スクリプトの内容をペースト後、Ctrl+C~

$ chmod gou+x filediff.sh
$ vim filediff.sh

■filediff.sh

#!/bin/bash

FILES[0]="/etc/httpd/conf/httpd.conf"
FILES[1]="/etc/php.ini"
FILES[2]="/etc/my.cnf"

SVR_FROM=2 # サーバ番号始まり
SVR_TO=10 # サーバ番号終り

#
for file in ${FILES[@]};do
  echo "**************************************************"
  echo $file
  echo "**************************************************"
  scp 10.0.0.1:${file} /tmp/_a
  for i in `seq ${SVR_FROM} ${SVR_TO}`;
  do
    echo "[10.0.0.${i}]"
    scp 10.0.0.${i}:${file} /tmp/_b
    diff /tmp/_a /tmp/_b
    rm -f /tmp/_b
  done
  rm -f /tmp/_a
done

# 後処理
unset SVR_FROM
unset SVR_TO
unset FILES


【実行方法】

以下のように実行します。

$ filediff.sh

差異があると下記のように表示されます。

[10.105.4.33]
103c103
< ServerName web1:80
---
> ServerName web2:80


※緊急お知らせ
今週4~6名くらいで技術者交流会という名の飲み会を行なうことになったのですが、メンバーが全然集まっていません。当然面識がなくても構いませんのでどなたか飲みませんか? 参加可能な方は調整さんにエントリーお願い致します!
・・・ということで大変ありがとうございます。4名集まりましたので、10/27(水) 19:00 JR五反田駅改札を出たところ集合でいきましょう。多少であれば飛び入り参加もきっと大丈夫ですのでよろしくお願いいたしまーす。・・・ということで開催してきました。とても盛り上がって楽しかったですね。それにしても皆さん経験豊富だなあ、頑張らないとなあと思いました。またやりましょうね。

[調整さんにエントリー]

●開催趣旨:居酒屋土間土間で1時間525円飲み放題らしいので、たくさん飲みましょうというただそれだけになります。^^

|

« WEB上からrsyncを実行する方法 | Main | WEB上からapacheの生ログを見ることができるようにするプログラム »

サーバ・OS」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/32004/49852089

Listed below are links to weblogs that reference サーバ間の設定ファイル差異を比較するスクリプト:

« WEB上からrsyncを実行する方法 | Main | WEB上からapacheの生ログを見ることができるようにするプログラム »