はじめに
鉄のフライパン使うと鉄分が取れるそうです。そんでこの前フライパン買ったんです、テフロン加工のやつ(笑)。話は変わりましてサーバの時刻同期をntpdとかchronydでやってるんですが上位時刻サーバとの接続が出来なくなったとき、エラーとかログに出なくて(出せる方法ご存知のかた教えてください)。間に合わせで同期チェックするshellを作りました。
shell
ntpCheck.sh
#!/bin/bash BASE=$(basename $0) echo START ${BASE} /usr/sbin/ntpdate -q ntp.nict.jp if [ $? -ne 0 ]; then echo "Abnomal END :ntp check failed." exit 1 fi echo Nomal END exit 0
でこいつをcronに登録します。実行結果は今回はloggerで/var/log/messagesに出します。シェルのパスは適宜変更します。蛇足にREDHAT7はloggerでプライオリティを指定しても、デフォルトの状態ではログに記載されませんのでloggerでプライオリティを付けても意味ないです(rsyslog.confの設定変えれば記載されます)。
#ntp syncronize check 0 * * * * ~/shell/ntpCheck.sh 2>&1 | logger -t ntpCheck.sh -ip info
うまくいくと/var/log/messagesに以下のようなログが出ます。
Mar 29 18:00:08 serverx ntpCheck.sh[9351]: Nomal END
時刻同期に失敗するとこんなログです
Mar 29 18:00:08 serverx ntpCheck.sh[9351]: Abnomal END :ntp check failed."
以上