
Buscando un guión para(1)comprobar el estado de ntp y(2)si está dentro de +/- 1 segundo de un servidor de hora determinado (p. ej.123.456.789.10).(3)Además, se debe verificar la hora del sistema para ver si la zona horaria está configurada correctamente (por ejemplo,hora del Pacífico)
Esto es lo que tengo hasta ahora, comprobando el estado de 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
Respuesta1
Yo uso ntpq
para eso.
Aquí hay algunos fragmentos y pseudocódigo.
Primero, calcule el desplazamiento y guárdelo en una var:
ntp_offset=$(ntpq -pn | \
/usr/bin/awk 'BEGIN { offset=1000 } $1 ~ /\*/ { offset=$9 } END { print offset }')
El servidor está bien cuando: ntp_offset <1000
Servidor no sincronizado cuando: ntp_offset >= 1000
La verificación de ntpd inactivo se puede realizar con diferentes enfoques, dependiendo de su sistema operativo. Por ejemplo, utilícelo
service ntpd status
en red hat, centos y similares, y luego verifique el estado del resultado en la$?
variable.