| #! /bin/sh |
| |
| ### BEGIN INIT INFO |
| # Provides: ntp |
| # Required-Start: $network $remote_fs $syslog |
| # Required-Stop: $network $remote_fs $syslog |
| # Default-Start: 2 3 4 5 |
| # Default-Stop: |
| # Short-Description: Start NTP daemon |
| ### END INIT INFO |
| |
| PATH=/sbin:/bin:/usr/bin:/usr/sbin |
| |
| DAEMON=/usr/sbin/ntpd |
| PIDFILE=/var/run/ntpd.pid |
| |
| # ntpd init.d script for ntpdc from ntp.isc.org |
| test -x $DAEMON -a -r /etc/ntp.conf || exit 0 |
| |
| # rcS contains TICKADJ |
| test -r /etc/default/rcS && . /etc/default/rcS |
| |
| # Source function library. |
| . /etc/init.d/functions |
| |
| # Functions to do individual actions |
| settick(){ |
| # If TICKADJ is set we *must* adjust it before we start, because the |
| # driftfile relies on the correct setting |
| test -n "$TICKADJ" -a -x /usr/sbin/tickadj && { |
| echo -n "Setting tick to $TICKADJ: " |
| /usr/sbin/tickadj "$TICKADJ" |
| echo "done" |
| } |
| } |
| startdaemon(){ |
| # The -g option allows ntpd to step the time to correct it just |
| # once. The daemon will exit if the clock drifts too much after |
| # this. If ntpd seems to disappear after a while assume TICKADJ |
| # above is set to a totally incorrect value. |
| echo -n "Starting ntpd: " |
| start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --startas $DAEMON -- -u ntp:ntp -p $PIDFILE "$@" |
| echo "done" |
| } |
| stopdaemon(){ |
| echo -n "Stopping ntpd: " |
| start-stop-daemon --stop --quiet --oknodo -p $PIDFILE |
| echo "done" |
| } |
| |
| case "$1" in |
| start) |
| settick |
| startdaemon -g |
| ;; |
| stop) |
| stopdaemon |
| ;; |
| force-reload) |
| stopdaemon |
| settick |
| startdaemon -g |
| ;; |
| restart) |
| # Don't reset the tick here |
| stopdaemon |
| startdaemon -g |
| ;; |
| reload) |
| # Must do this by hand, but don't do -g |
| stopdaemon |
| startdaemon |
| ;; |
| status) |
| status /usr/sbin/ntpd; |
| exit $? |
| ;; |
| *) |
| echo "Usage: ntpd { start | stop | status | restart | reload }" >&2 |
| exit 1 |
| ;; |
| esac |
| |
| exit 0 |