スクリプトを探しています。(1)NTPステータスを確認して(2)指定されたタイムサーバーの+/- 1秒以内にある場合(例:123.456.789.10)。(サム)また、システム時間を確認して、タイムゾーンが正しく設定されていることを確認してください(例:太平洋標準時)
これが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がダウンしていることを確認できます。たとえば、
service ntpd status
red hat、centosなどに使用した後、$?
結果変数の状態を確認します。