スクリプトを探して(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
ntpq
を使用しています。
ここにいくつかのスニペットと擬似コードがあります。
まず、オフセットを計算して変数に格納します。
ntp_offset=$(ntpq -pn | \
/usr/bin/awk 'BEGIN { offset=1000 } $1 ~ /\*/ { offset=$9 } END { print offset }')
サーバーOK:ntp_offset <1000
Ntp_offset> = 1000の場合、サーバーは非同期です
ntpdがダウンしているかどうかのチェックは、OSに応じて、さまざまな方法で実行できます。たとえば、Red Hat、centosなどではservice ntpd status
を使用し、$?
変数で結果ステータスを確認します。