#!/bin/sh # clockctl # interface to djb clockspeed (0.62) # === # from http://thedjbway.b0llix.net/clockspeed/clockctl.html # read configuration: if [ -r /etc/clockspeed/clockspeed.conf ] ; then . /etc/clockspeed/clockspeed.conf else echo "$0: configuration error: unable to read clockspeed.conf" exit 1 fi # clock_pick function: clock_pick() { case ${CLOCK_TYPE} in ntp|NTP) ${CLOCKSPEED_BIN}/sntpclock "${CLOCK_IP}" ;; tai|TAI) ${CLOCKSPEED_BIN}/taiclock "${CLOCK_IP}" ;; *) echo "$0: configuration error: CLOCK_TYPE not recognized" exit 1; ;; esac } # process command: case $1 in a|atto) echo "Viewing current attoseconds in hardware tick:" ${CLOCKSPEED_BIN}/clockview < ${CLOCKSPEED_HOME}/etc/atto ;; m|mark) echo "Obtaining new calibration mark from master server at ${CLOCK_IP}:" clock_pick | tee ${CLOCKSPEED_HOME}/adjust | ${CLOCKSPEED_BIN}/clockview ;; s|sync) echo "Setting system clock with master server at ${CLOCK_IP}:" clock_pick | ${CLOCKSPEED_BIN}/clockadd && \ clock_pick | ${CLOCKSPEED_BIN}/clockview ;; v|view) echo "Checking system clock against master server at ${CLOCK_IP} (clockview):" clock_pick | ${CLOCKSPEED_BIN}/clockview ;; h|help) cat <<END_HELP clockspeed control: atto -- inspect current "attoseconds" mark -- obtain new calibration mark for clockspeed sync -- set the system clock with master time server view -- check system clock against master time server help -- this screen END_HELP ;; *) echo "Usage: $0 [ a|atto | m|mark | s|sync | v|view | h|help ]" exit 1 ;; esac exit 0