Browse Source

enhanced rc-script

Ralf S. Engelschall 24 years ago
parent
commit
9e03a7f211
2 changed files with 51 additions and 5 deletions
  1. 1 1
      ntp/ntp.spec
  2. 50 4
      ntp/rc.ntp

+ 1 - 1
ntp/ntp.spec

@@ -33,7 +33,7 @@ Distribution: OpenPKG [REL]
 Group:        Net
 License:      BSD-style
 Version:      4.1.0
-Release:      20011201
+Release:      20020109
 
 #   list of sources
 Source0:      http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-%{version}.tar.gz

+ 50 - 4
ntp/rc.ntp

@@ -3,7 +3,23 @@
 ##  rc.ntp -- Run-Commands for NTP Daemon
 ##
 
+%config
+    ntp_enable="yes"
+    ntp_log_prolog="true"
+    ntp_log_epilog="true"
+    ntp_log_numfiles="10"
+    ntp_log_minsize="1M"
+    ntp_log_complevel="9"
+
+%common
+    ntp_signal () {
+        if [ -f "@l_prefix@/var/ntp/ntpd.pid" ]; then
+            kill -$1 `cat @l_prefix@/var/ntp/ntpd.pid`
+        fi
+    }
+
 %start -p 200 -u root
+    opServiceEnabled ntp || exit 0
     #   synchronize local machine once at startup
     #   because ntpd does not skip large time offsets
     @l_prefix@/bin/ntpdate \
@@ -17,12 +33,12 @@
         -s @l_prefix@/var/ntp/ntpd.stat/
 
 %stop -p 200 -u root
-    #   kill the NTP daemon
-    kill -TERM `cat @l_prefix@/var/ntp/ntpd.pid`
+    opServiceEnabled ntp || exit 0
+    ntp_signal TERM
 
 %restart -u root
-    #   kill the NTP daemon
-    kill -TERM `cat @l_prefix@/var/ntp/ntpd.pid`
+    opServiceEnabled ntp || exit 0
+    ntp_signal TERM
     sleep 2
     #   restart the NTP daemon for continued synchronization
     @l_prefix@/bin/ntpd \
@@ -31,3 +47,33 @@
         -l @l_prefix@/var/ntp/ntpd.log \
         -s @l_prefix@/var/ntp/ntpd.stat/
 
+%daily -u root
+    opServiceEnabled ntp || exit 0
+    opTmpDirGen ntp
+    opTmpDirFile ntp hint hintfile
+    prolog="true"
+    if [ ".$ntp_log_prolog" != . ]; then
+        prolog="$prolog; $ntp_log_prolog"
+    fi
+    epilog="echo 'epilog' >$hintfile"
+    if [ ".$ntp_log_epilog" != . ]; then
+        epilog="$epilog; $ntp_log_epilog"
+    fi
+    shtool log -f \
+        -n${ntp_log_numfiles} -s${ntp_log_minsize} \
+        -d -z${ntp_log_complevel} \
+        -o@l_fsusr@ -g@l_fsgrp@ -m644 \
+        -P "$prolog" \
+        -E "$epilog" \
+        @l_prefix@/var/ntp/ntpd.log
+    if [ ".`cat $hintfile`" = ".epilog" ]; then
+        ntp_signal TERM
+        sleep 2
+        #   restart the NTP daemon
+        @l_prefix@/bin/ntpd \
+            -p @l_prefix@/var/ntp/ntpd.pid \
+            -f @l_prefix@/var/ntp/ntpd.drift \
+            -l @l_prefix@/var/ntp/ntpd.log \
+            -s @l_prefix@/var/ntp/ntpd.stat/
+    fi
+    opTmpDirDel ntp