#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc ## ## rc.ntp -- Run-Commands ## %config ntp_enable="$openpkg_rc_def" ntp_mode="daemon" ntp_log_prolog="true" ntp_log_epilog="true" ntp_log_numfiles="10" ntp_log_minsize="1M" ntp_log_complevel="9" %common ntp_pidfile="@l_prefix@/var/ntp/ntpd.pid" ntp_signal () { [ -f $ntp_pidfile ] && kill -$1 `cat $ntp_pidfile` } ntp_once () { @l_prefix@/bin/ntpdate \ `grep "^server" @l_prefix@/etc/ntp/ntp.conf |\ awk '{ printf(" %s", $2); }'` || true } %status -u @l_susr@ -o ntp_usable="unknown" ntp_active="no" rcService ntp enable yes && \ [ ".$ntp_mode" = ".daemon" ] && \ ntp_signal 0 && ntp_active="yes" echo "ntp_enable=\"$ntp_enable\"" echo "ntp_usable=\"$ntp_usable\"" echo "ntp_active=\"$ntp_active\"" %start -p 200 -u @l_susr@ rcService ntp enable yes || exit 0 rcService ntp active yes && exit 0 # under both periodical and daemon mode, synchronize local machine # once manually -- either to fill the gap between startup time and # the first run of the cron jobs (periodical mode) or to perform # a possible large time offset which ntpd does not perform itself # (daemon mode). case "$ntp_mode" in once | \ daemon | \ quarterly | hourly | daily | weekly | monthly ) ntp_once ;; esac # run the NTP daemon for continued synchronization if [ ".$ntp_mode" = ".daemon" ]; then @l_prefix@/bin/ntpd \ -p @l_prefix@/var/ntp/ntpd.pid \ -f @l_prefix@/var/ntp/ntpd.drift \ -s @l_prefix@/var/ntp/ntpd.stat/ fi %stop -u @l_susr@ rcService ntp enable yes || exit 0 rcService ntp active no && exit 0 ntp_signal TERM rm -f $ntp_pidfile 2>/dev/null || true %restart -p 200 -u @l_susr@ rcService ntp enable yes || exit 0 rcService ntp active no && exit 0 rc ntp stop start %quarterly -u @l_susr@ rcService ntp enable yes || exit 0 [ ".$ntp_mode" = ".quarterly" ] && sleep 30 && ntp_once %hourly -u @l_susr@ rcService ntp enable yes || exit 0 [ ".$ntp_mode" = ".hourly" ] && sleep 30 && ntp_once %daily -u @l_susr@ rcService ntp enable yes || exit 0 [ ".$ntp_mode" = ".daily" ] && sleep 30 && ntp_once # rotate logfile shtool rotate -f \ -n ${ntp_log_numfiles} -s ${ntp_log_minsize} -d \ -z ${ntp_log_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \ -P "${ntp_log_prolog}" \ -E "${ntp_log_epilog} && rc ntp restart" \ @l_prefix@/var/ntp/ntp.log %weekly -u @l_susr@ rcService ntp enable yes || exit 0 [ ".$ntp_mode" = ".weekly" ] && sleep 30 && ntp_once %monthly -u @l_susr@ rcService ntp enable yes || exit 0 [ ".$ntp_mode" = ".monthly" ] && sleep 30 && ntp_once