void-packages/srcpkgs/clockspeed/files/clockctl

70 lines
1.6 KiB
Bash
Executable File

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