| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #!@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
|