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.
101 lines
2.9 KiB
101 lines
2.9 KiB
#!@l_prefix@/bin/openpkg rc |
|
## |
|
## rc.chrony -- Run-Commands |
|
## |
|
|
|
%config |
|
chrony_enable="$openpkg_rc_def" |
|
chrony_mode="daemon" |
|
chrony_daemon_flags="" |
|
chrony_log_prolog="true" |
|
chrony_log_epilog="true" |
|
chrony_log_numfiles="10" |
|
chrony_log_minsize="1M" |
|
chrony_log_complevel="9" |
|
|
|
%common |
|
chrony_pidfile="@l_prefix@/var/chrony/run/chrony.pid" |
|
chrony_signal () { |
|
[ -f $chrony_pidfile ] && kill -$1 `cat $chrony_pidfile` |
|
} |
|
chrony_once () { |
|
[ ".$1" != . ] && sleep $1 |
|
@l_prefix@/sbin/chronyd -q |
|
} |
|
|
|
%status -u @l_susr@ -o |
|
chrony_usable="unknown" |
|
chrony_active="no" |
|
rcService chrony enable yes && \ |
|
[ ".$chrony_mode" = ".daemon" ] && \ |
|
chrony_signal 0 && chrony_active="yes" |
|
echo "chrony_enable=\"$chrony_enable\"" |
|
echo "chrony_usable=\"$chrony_usable\"" |
|
echo "chrony_active=\"$chrony_active\"" |
|
|
|
%start -p 200 -u @l_susr@ |
|
rcService chrony enable yes || exit 0 |
|
rcService chrony 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 chronyd does not perform itself |
|
# (daemon mode). |
|
case "$chrony_mode" in |
|
once | \ |
|
daemon | \ |
|
quarterly | hourly | daily | weekly | monthly ) |
|
chrony_once |
|
;; |
|
esac |
|
|
|
# run the NTP daemon for continued synchronization |
|
if [ ".$chrony_mode" = .daemon ]; then |
|
@l_prefix@/sbin/chronyd \ |
|
-u @l_nusr@ \ |
|
${chrony_daemon_flags} |
|
fi |
|
|
|
%stop -p 800 -u @l_susr@ |
|
rcService chrony enable yes || exit 0 |
|
rcService chrony active no && exit 0 |
|
chrony_signal TERM |
|
rm -f $chrony_pidfile 2>/dev/null || true |
|
|
|
%restart -p 200 -u @l_susr@ |
|
rcService chrony enable yes || exit 0 |
|
rcService chrony active no && exit 0 |
|
rc chrony stop start |
|
|
|
%quarterly -p 800 -u @l_susr@ |
|
rcService chrony enable yes || exit 0 |
|
[ ".$chrony_mode" = .quarterly ] && chrony_once 30 |
|
exit 0 |
|
|
|
%hourly -p 800 -u @l_susr@ |
|
rcService chrony enable yes || exit 0 |
|
[ ".$chrony_mode" = .hourly ] && chrony_once 30 |
|
exit 0 |
|
|
|
%daily -p 800 -u @l_susr@ |
|
rcService chrony enable yes || exit 0 |
|
[ ".$chrony_mode" = .daily ] && chrony_once 30 |
|
shtool rotate -f \ |
|
-n ${chrony_log_numfiles} -s ${chrony_log_minsize} -d \ |
|
-z ${chrony_log_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \ |
|
-P "${chrony_log_prolog}" \ |
|
-E "${chrony_log_epilog}; rc chrony restart" \ |
|
@l_prefix@/var/chrony/log/chrony.log |
|
exit 0 |
|
|
|
%weekly -p 800 -u @l_susr@ |
|
rcService chrony enable yes || exit 0 |
|
[ ".$chrony_mode" = .weekly ] && chrony_once 30 |
|
exit 0 |
|
|
|
%monthly -p 800 -u @l_susr@ |
|
rcService chrony enable yes || exit 0 |
|
[ ".$chrony_mode" = .monthly ] && chrony_once 30 |
|
exit 0 |
|
|
|
|