|
1 #!@l_prefix@/bin/openpkg rc |
|
2 ## |
|
3 ## rc.ntp -- Run-Commands |
|
4 ## |
|
5 |
|
6 %config |
|
7 ntp_enable="$openpkg_rc_def" |
|
8 ntp_mode="daemon" |
|
9 ntp_daemon_flags="" |
|
10 ntp_log_prolog="true" |
|
11 ntp_log_epilog="true" |
|
12 ntp_log_numfiles="10" |
|
13 ntp_log_minsize="1M" |
|
14 ntp_log_complevel="9" |
|
15 |
|
16 %common |
|
17 ntp_pidfile=`grep "^pidfile" @l_prefix@/etc/ntp/ntp.conf | awk '{ printf("%s", $2); }'` |
|
18 ntp_signal () { |
|
19 [ -f $ntp_pidfile ] && kill -$1 `cat $ntp_pidfile` |
|
20 } |
|
21 ntp_once () { |
|
22 [ ".$1" != . ] && sleep $1 |
|
23 @l_prefix@/bin/ntpd -q -g |
|
24 } |
|
25 |
|
26 %status -u @l_susr@ -o |
|
27 ntp_usable="unknown" |
|
28 ntp_active="no" |
|
29 rcService ntp enable yes && \ |
|
30 [ ".$ntp_mode" = ".daemon" ] && \ |
|
31 ntp_signal 0 && ntp_active="yes" |
|
32 echo "ntp_enable=\"$ntp_enable\"" |
|
33 echo "ntp_usable=\"$ntp_usable\"" |
|
34 echo "ntp_active=\"$ntp_active\"" |
|
35 |
|
36 %start -p 200 -u @l_susr@ |
|
37 rcService ntp enable yes || exit 0 |
|
38 rcService ntp active yes && exit 0 |
|
39 |
|
40 # under both periodical and daemon mode, synchronize local machine |
|
41 # once manually -- either to fill the gap between startup time and |
|
42 # the first run of the cron jobs (periodical mode) or to perform |
|
43 # a possible large time offset which ntpd does not perform itself |
|
44 # (daemon mode). |
|
45 case "$ntp_mode" in |
|
46 once | \ |
|
47 daemon | \ |
|
48 quarterly | hourly | daily | weekly | monthly ) |
|
49 ntp_once |
|
50 ;; |
|
51 esac |
|
52 |
|
53 # run the NTP daemon for continued synchronization |
|
54 if [ ".$ntp_mode" = .daemon ]; then |
|
55 @l_prefix@/bin/ntpd ${ntp_daemon_flags} |
|
56 fi |
|
57 |
|
58 %stop -p 800 -u @l_susr@ |
|
59 rcService ntp enable yes || exit 0 |
|
60 rcService ntp active no && exit 0 |
|
61 ntp_signal TERM |
|
62 rm -f $ntp_pidfile 2>/dev/null || true |
|
63 |
|
64 %restart -p 200 -u @l_susr@ |
|
65 rcService ntp enable yes || exit 0 |
|
66 rcService ntp active no && exit 0 |
|
67 rc ntp stop start |
|
68 |
|
69 %quarterly -p 800 -u @l_susr@ |
|
70 rcService ntp enable yes || exit 0 |
|
71 [ ".$ntp_mode" = .quarterly ] && ntp_once 30 |
|
72 exit 0 |
|
73 |
|
74 %hourly -p 800 -u @l_susr@ |
|
75 rcService ntp enable yes || exit 0 |
|
76 [ ".$ntp_mode" = .hourly ] && ntp_once 30 |
|
77 exit 0 |
|
78 |
|
79 %daily -p 800 -u @l_susr@ |
|
80 rcService ntp enable yes || exit 0 |
|
81 [ ".$ntp_mode" = .daily ] && ntp_once 30 |
|
82 shtool rotate -f \ |
|
83 -n ${ntp_log_numfiles} -s ${ntp_log_minsize} -d \ |
|
84 -z ${ntp_log_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \ |
|
85 -P "${ntp_log_prolog}" \ |
|
86 -E "${ntp_log_epilog}; rc ntp restart" \ |
|
87 @l_prefix@/var/ntp/ntp.log |
|
88 exit 0 |
|
89 |
|
90 %weekly -p 800 -u @l_susr@ |
|
91 rcService ntp enable yes || exit 0 |
|
92 [ ".$ntp_mode" = .weekly ] && ntp_once 30 |
|
93 exit 0 |
|
94 |
|
95 %monthly -p 800 -u @l_susr@ |
|
96 rcService ntp enable yes || exit 0 |
|
97 [ ".$ntp_mode" = .monthly ] && ntp_once 30 |
|
98 exit 0 |
|
99 |