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
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 |
|
|
|
|