
Ищу сценарий для(1)проверьте статус ntp и(2)если он находится в пределах +/- 1 секунды от заданного сервера времени (например,123.456.789.10).(3)Кроме того, следует проверить системное время, чтобы убедиться, что часовой пояс установлен правильно (например,Тихоокеанское стандартное время)
Вот что у меня получилось на данный момент, проверив статус 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
Я для этого использую .
Вот несколько фрагментов и псевдокода.
Сначала вычислим смещение и сохраним его в переменной:
ntp_offset=$(ntpq -pn | \
/usr/bin/awk 'BEGIN { offset=1000 } $1 ~ /\*/ { offset=$9 } END { print offset }')
Сервер ОК, когда: ntp_offset < 1000
Сервер не синхронизирован, когда: ntp_offset >= 1000
проверка ntpd is down может быть выполнена разными способами в зависимости от вашей ОС. Например, используйте
service ntpd status
на red hat, centos и подобных, а затем проверьте статус результата на$?
переменной.