Update ntp init script to the stretch version (RT#6907)
[mirror/dsa-puppet.git] / modules / ntp / files / ntp.init
1 #!/bin/sh
2
3 ### BEGIN INIT INFO
4 # Provides:        ntp
5 # Required-Start:  $network $remote_fs $syslog
6 # Required-Stop:   $network $remote_fs $syslog
7 # Default-Start:   2 3 4 5
8 # Default-Stop: 
9 # Short-Description: Start NTP daemon
10 ### END INIT INFO
11
12 PATH=/sbin:/bin:/usr/sbin:/usr/bin
13
14 . /lib/lsb/init-functions
15
16 DAEMON=/usr/sbin/ntpd
17 PIDFILE=/var/run/ntpd.pid
18
19 test -x $DAEMON || exit 5
20
21 if [ -r /etc/default/ntp ]; then
22         . /etc/default/ntp
23 fi
24
25 if [ -e /run/ntp.conf.dhcp ]; then
26         NTPD_OPTS="$NTPD_OPTS -c /run/ntp.conf.dhcp"
27 fi
28
29
30 LOCKFILE=/run/lock/ntpdate
31
32 RUNASUSER=ntp
33 UGID=$(getent passwd $RUNASUSER | cut -f 3,4 -d:) || true
34 if test "$(uname -s)" = "Linux"; then
35         NTPD_OPTS="$NTPD_OPTS -u $UGID"
36 fi
37
38 case $1 in
39         start)
40                 log_daemon_msg "Starting NTP server" "ntpd"
41                 if [ -z "$UGID" ]; then
42                         log_failure_msg "user \"$RUNASUSER\" does not exist"
43                         exit 1
44                 fi
45                 (
46                         flock -w 180 9
47                         start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --startas $DAEMON -- -p $PIDFILE $NTPD_OPTS
48                 ) 9>$LOCKFILE
49                 log_end_msg $?
50                 ;;
51         stop)
52                 log_daemon_msg "Stopping NTP server" "ntpd"
53                 start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --retry=TERM/30/KILL/5 --exec $DAEMON
54                 log_end_msg $?
55                 rm -f $PIDFILE
56                 ;;
57         restart|force-reload)
58                 $0 stop && sleep 2 && $0 start
59                 ;;
60         try-restart)
61                 if $0 status >/dev/null; then
62                         $0 restart
63                 else
64                         exit 0
65                 fi
66                 ;;
67         reload)
68                 exit 3
69                 ;;
70         status)
71                 status_of_proc $DAEMON "NTP server"
72                 ;;
73         *)
74                 echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
75                 exit 2
76                 ;;
77 esac