update example ntp.script

Handle an interesting corner case when NTP server is reachable...
but on a different IP now.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2015-03-31 22:00:55 +02:00
parent 9472e8a86f
commit 1186894f77
1 changed files with 19 additions and 2 deletions

View File

@ -10,12 +10,30 @@
dt=`date '+%Y-%m-%d %H:%M:%S'`
echo "`tail -n 199 -- "$0.log" 2>/dev/null`" >"$0.log.$$"
if test x"$1" = x"unsync" \
; then
# No replies for our NTP requests were seen for some time.
#
# Among more mundate cases like network outages, this happens
# if we ran for a LONG time (days) and ntp server's IP has changed.
# ntpd has no code to re-resolve peers' addresses to IPs,
# we need to help it:
#
echo "$dt: $1"\
"syncronization lost, restarting ntpd"\
>>"$0.log.$$"
mv -- "$0.log.$$" "$0.log"
kill $PPID
exit
fi
if test x"$stratum" != x"" \
&& test x"$poll_interval" != x"" \
&& test 4 -ge "$stratum" \
&& test 128 -le "$poll_interval" \
; then
echo "`tail -n 199 -- "$0.log" 2>/dev/null`" >"$0.log.$$"
echo "$dt: $1"\
"freq_drift_ppm=$freq_drift_ppm"\
"offset=$offset"\
@ -27,7 +45,6 @@ if test x"$stratum" != x"" \
exec hwclock --systohc
fi
echo "`tail -n 199 -- "$0.log" 2>/dev/null`" >"$0.log.$$"
echo "$dt: $1"\
"freq_drift_ppm=$freq_drift_ppm"\
"offset=$offset"\