93 lines
1.8 KiB
Plaintext
93 lines
1.8 KiB
Plaintext
|
#!/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: 1
|
||
|
# Short-Description: Start NTP daemon
|
||
|
### END INIT INFO
|
||
|
|
||
|
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||
|
|
||
|
. /lib/lsb/init-functions
|
||
|
|
||
|
DAEMON=/usr/sbin/ntpd
|
||
|
PIDFILE=/var/run/ntpd.pid
|
||
|
|
||
|
test -x $DAEMON || exit 5
|
||
|
|
||
|
if [ -r /etc/default/ntp ]; then
|
||
|
. /etc/default/ntp
|
||
|
fi
|
||
|
|
||
|
if [ /var/lib/ntp/ntp.conf.dhcp -nt /etc/ntp.conf ]; then
|
||
|
NTPD_OPTS="$NTPD_OPTS -c /var/lib/ntp/ntp.conf.dhcp"
|
||
|
fi
|
||
|
|
||
|
|
||
|
LOCKFILE=/var/lock/ntpdate
|
||
|
|
||
|
lock_ntpdate() {
|
||
|
if [ -x /usr/bin/lockfile-create ]; then
|
||
|
lockfile-create $LOCKFILE
|
||
|
lockfile-touch $LOCKFILE &
|
||
|
LOCKTOUCHPID="$!"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
unlock_ntpdate() {
|
||
|
if [ -x /usr/bin/lockfile-create ] ; then
|
||
|
kill $LOCKTOUCHPID
|
||
|
lockfile-remove $LOCKFILE
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
RUNASUSER=ntp
|
||
|
UGID=$(getent passwd $RUNASUSER | cut -f 3,4 -d:) || true
|
||
|
if test "$(uname -s)" = "Linux"; then
|
||
|
NTPD_OPTS="$NTPD_OPTS -u $UGID"
|
||
|
fi
|
||
|
|
||
|
case $1 in
|
||
|
start)
|
||
|
log_daemon_msg "Starting NTP server" "ntpd"
|
||
|
if [ -z "$UGID" ]; then
|
||
|
log_failure_msg "user \"$RUNASUSER\" does not exist"
|
||
|
exit 1
|
||
|
fi
|
||
|
lock_ntpdate
|
||
|
start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --startas $DAEMON -- -p $PIDFILE $NTPD_OPTS
|
||
|
status=$?
|
||
|
unlock_ntpdate
|
||
|
log_end_msg $status
|
||
|
;;
|
||
|
stop)
|
||
|
log_daemon_msg "Stopping NTP server" "ntpd"
|
||
|
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE
|
||
|
log_end_msg $?
|
||
|
rm -f $PIDFILE
|
||
|
;;
|
||
|
restart|force-reload)
|
||
|
$0 stop && sleep 2 && $0 start
|
||
|
;;
|
||
|
try-restart)
|
||
|
if $0 status >/dev/null; then
|
||
|
$0 restart
|
||
|
else
|
||
|
exit 0
|
||
|
fi
|
||
|
;;
|
||
|
reload)
|
||
|
exit 3
|
||
|
;;
|
||
|
status)
|
||
|
status_of_proc $DAEMON "NTP server"
|
||
|
;;
|
||
|
*)
|
||
|
echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
|
||
|
exit 2
|
||
|
;;
|
||
|
esac
|