
스크립트를 찾고 있습니다.(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 is down에 대한 확인은 OS에 따라 다른 접근 방식으로 수행될 수 있습니다. 예를 들어
service ntpd status
red hat, centos 등에서 사용한 다음$?
변수에 대한 결과 상태를 확인합니다.