| #!/bin/sh |
| |
| # Note that there is no provision to prevent several copies of the script |
| # to be run in quick succession. In fact, it happens rather often |
| # if initial syncronization results in a step. |
| # You will see "step" and then "stratum" script runs, sometimes |
| # as close as only 0.002 seconds apart. |
| # |
| # Script should be ready to deal with this. |
| |
| dt=`date '+%Y-%m-%d %H:%M:%S'` |
| |
| 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"\ |
| "stratum=$stratum"\ |
| "poll_interval=$poll_interval,"\ |
| "setting hardware clock"\ |
| >>"$0.log.$$" |
| mv -- "$0.log.$$" "$0.log" |
| 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"\ |
| "stratum=$stratum"\ |
| "poll_interval=$poll_interval"\ |
| >>"$0.log.$$" |
| mv -- "$0.log.$$" "$0.log" |