38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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"
 |