#!/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 <