
スクリプトを探しています(1)ntpのステータスを確認し、(2)特定のタイムサーバーから+/- 1秒以内の場合(例:123.456.789.10)。(3)さらに、システム時間をチェックして、タイムゾーンが正しく設定されているかどうかを確認する必要があります(例:PST)
これまでに NTP のステータスを確認した結果は次のとおりです。
#!/bin/bash
if [[ ! -x /usr/bin/ntpstat ]]
then
echo "ntpstat is NOT installed: please install it"
exit 3
res=$(/usr/bin/ntpstat)
rc=$?
case $rc in
0 )
echo "clocks are synchronized"
;;
1 )
echo "WARNING: clocks are NOT synchronized"
;;
2 )
echo "CRITICAL: NTPD IS DOWN -- NO STATUS"
;;
esac
答え1
私はntpq
それに使います。
ここにいくつかのスニペットと疑似コードを示します。
まず、オフセットを計算して var に保存します。
ntp_offset=$(ntpq -pn | \
/usr/bin/awk 'BEGIN { offset=1000 } $1 ~ /\*/ { offset=$9 } END { print offset }')
サーバーが正常である条件: ntp_offset < 1000
次の場合、サーバーは同期されません: ntp_offset >= 1000
ntpd がダウンしているかどうかのチェックは、OS に応じてさまざまな方法で実行できます。たとえば、
service ntpd status
Red Hat、Centos などで使用し、$?
変数の結果ステータスを確認します。