meta-sysmocom-bsp/recipes-bsp/ntp/files/ntpd

85 lines
1.8 KiB
Bash
Executable File

#! /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