스크립트를 찾고 있습니다.(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 등에 사용한 후$?
결과 변수의 상태를 확인합니다.