]> git.pld-linux.org Git - packages/ntp.git/blobdiff - ntp-client.init
- missing BR: pciutils-devel
[packages/ntp.git] / ntp-client.init
index 0624951ff05a63a058933f07b81199b161d72500..ff624c597a8adfe3deb15d45beef1705534beb72 100644 (file)
@@ -1,48 +1,71 @@
 #!/bin/sh
 #
-# ntp          This shell script takes care of starting and stopping
-#              ntp (NTP client).
+# ntpdate              This shell script synchronizes time with ntpdate (NTP client)
 #
-# chkconfig:   2345 55 10
-# description: ntp is the NTP client.
+# chkconfig:   2345 16 89
+# description: ntpdate is the NTP client.
 
 # Source function library.
 . /etc/rc.d/init.d/functions
 
+upstart_controlled --except cronsettime
+
 # Source networking configuration.
 . /etc/sysconfig/network
 
+# if not specified in config
+NTPDATE_USER="ntp"
+
 # Source ntp configuration
-. /etc/sysconfig/ntp
+. /etc/sysconfig/ntpdate
 
 # Check that networking is up.
 if is_yes "${NETWORKING}"; then
        if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
-               # nls "ERROR: Networking is down. %s can't be run." <service>
-               msg_network_down ntp
+               msg_network_down "ntpdate"
                exit 1
        fi
 else
        exit 0
 fi
 
-[ -x /usr/sbin/ntpdate ] || exit 0
+ntpdate_background() {
+       /usr/sbin/ntpdate -s ${NTPDATE_USER:+-U $NTPDATE_USER} $NTPDATE_OPTIONS $NTPDATE_SERVERS || return $?
+
+       if is_yes "$SYNC_HWCLOCK"; then
+               /sbin/hwclock --systohc
+       fi
+}
+
+start() {
+       show "Syncing time with ntpdate (backgrounding)"
+       ntpdate_background &
+       touch /var/lock/subsys/ntpdate
+       ok
+}
+
+stop() {
+       rm -f /var/lock/subsys/ntpdate
+}
 
 RETVAL=0
 # See how we were called.
 case "$1" in
-  start)
-       run_cmd "Syncing time for ntp" /usr/sbin/ntpdate $NTPDATE_OPTIONS $NTPDATE_SERVERS
-       RETVAL=$?
+start)
+       start
        ;;
-  stop)
-       exit $RETVAL
+stop)
+       stop
        ;;
-  restart|force-reload)
-       $0 start
-       exit $?
+restart|force-reload)
+       stop
+       start
+       ;;
+cronsettime)
+       is_yes "$NTPDATE_CRON" && /usr/sbin/ntpdate -s ${NTPDATE_USER:+-U $NTPDATE_USER} $NTPDATE_OPTIONS $NTPDATE_SERVERS
+       RETVAL=$?
        ;;
-  *)
+*)
        msg_usage "$0 {start|restart|force-reload}"
        exit 3
 esac
This page took 0.025511 seconds and 4 git commands to generate.