You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

96 lines
2.6 KiB

#!@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
# on startup, force synchronize local machine
# because ntpd does not skip large time offsets
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
if [ ".$ntp_mode" = ".quarterly" ] && ntp_once
%hourly -u @l_susr@
rcService ntp enable yes || exit 0
if [ ".$ntp_mode" = ".hourly" ] && ntp_once
%daily -u @l_susr@
rcService ntp enable yes || exit 0
if [ ".$ntp_mode" = ".daily" ] && 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
if [ ".$ntp_mode" = ".weekly" ] && ntp_once
%monthly -u @l_susr@
rcService ntp enable yes || exit 0
if [ ".$ntp_mode" = ".monthly" ] && ntp_once