busybox: update to 1.25.0
[tomato.git] / release / src / router / busybox / examples / var_service / ntpd / ntp.script
blob8542181eb4bd7c62cefe3e2dc25cb11668b5d31e
1 #!/bin/sh
3 # Note that there is no provision to prevent several copies of the script
4 # to be run in quick succession. In fact, it happens rather often
5 # if initial syncronization results in a step.
6 # You will see "step" and then "stratum" script runs, sometimes
7 # as close as only 0.002 seconds apart.
9 # Script should be ready to deal with this.
11 dt=`date '+%Y-%m-%d %H:%M:%S'`
13 echo "`tail -n 199 -- "$0.log" 2>/dev/null`" >"$0.log.$$"
15 if test x"$1" = x"unsync" \
16 ; then
17 # No replies for our NTP requests were seen for some time.
19 # Among more mundate cases like network outages, this happens
20 # if we ran for a LONG time (days) and ntp server's IP has changed.
21 # ntpd has no code to re-resolve peers' addresses to IPs,
22 # we need to help it:
24 echo "$dt: $1"\
25 "syncronization lost, restarting ntpd"\
26 >>"$0.log.$$"
27 mv -- "$0.log.$$" "$0.log"
28 kill $PPID
29 exit
32 if test x"$stratum" != x"" \
33 && test x"$poll_interval" != x"" \
34 && test 4 -ge "$stratum" \
35 && test 128 -le "$poll_interval" \
36 ; then
37 echo "$dt: $1"\
38 "freq_drift_ppm=$freq_drift_ppm"\
39 "offset=$offset"\
40 "stratum=$stratum"\
41 "poll_interval=$poll_interval,"\
42 "setting hardware clock"\
43 >>"$0.log.$$"
44 mv -- "$0.log.$$" "$0.log"
45 exec hwclock --systohc
48 echo "$dt: $1"\
49 "freq_drift_ppm=$freq_drift_ppm"\
50 "offset=$offset"\
51 "stratum=$stratum"\
52 "poll_interval=$poll_interval"\
53 >>"$0.log.$$"
54 mv -- "$0.log.$$" "$0.log"