]> git.pld-linux.org Git - packages/chrony.git/blame - chronyd.init
- updated to 4.5
[packages/chrony.git] / chronyd.init
CommitLineData
8aaf2ebf
ER
1#!/bin/sh
2#
3# chronyd chronyd short service description
4#
5# chkconfig: 2345 58 74
6# description: Client/server for the Network Time Protocol, \
7# this program keeps your computer's clock accurate.
8#
8aaf2ebf
ER
9
10# Source function library
11. /etc/rc.d/init.d/functions
12
13# Get network config
14. /etc/sysconfig/network
15
90646ccb
ER
16# default user if not overriden by config
17NTPD_USER="ntp"
18
8aaf2ebf
ER
19# Get service config - may override defaults
20[ -f /etc/sysconfig/chronyd ] && . /etc/sysconfig/chronyd
21
22# Check that networking is up.
23if is_yes "${NETWORKING}"; then
24 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
25 msg_network_down "Chronyd NTPD"
26 exit 1
27 fi
28else
29 exit 0
30fi
31
32config=/etc/ntp/chrony.conf
33keyfile=/etc/ntp/keys
34chronyc=/usr/bin/chronyc
35
8aaf2ebf 36chrony_command() {
8aaf2ebf
ER
37 ! (
38 $chronyc <<EOF &
8aaf2ebf
ER
39$1
40EOF
41 chronycpid=$!
42
30e9ceb6 43 # chronyc will hang if the daemon doesn't respond, kill it after 3 s
dc8feb35 44 #'
95855725 45 (sleep 3; kill $chronycpid) < /dev/null > /dev/null 2>&1 &
8aaf2ebf
ER
46 killerpid=$!
47
dc8feb35
ER
48 wait $chronycpid >/dev/null 2>&1
49 kill $killerpid >/dev/null 2>&1 || echo "chronyd not responding"
8aaf2ebf
ER
50 ) | grep -v '200 OK'
51}
52
8aaf2ebf
ER
53start() {
54 # Check if the service is already running?
55 if [ -f /var/lock/subsys/chronyd ]; then
56 msg_already_running "Chronyd NTPD"
57 return
58 fi
59
8aaf2ebf 60 msg_starting "Chronyd NTPD"
90646ccb 61 daemon /usr/sbin/chronyd -u $NTPD_USER $OPTIONS
8aaf2ebf
ER
62 RETVAL=$?
63 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/chronyd
64}
65
66stop() {
67 if [ ! -f /var/lock/subsys/chronyd ]; then
68 msg_not_running "Chronyd NTPD"
69 return
70 fi
71
72 # Stop daemons.
73 msg_stopping "Chronyd NTPD"
74 killproc chronyd
75 rm -f /var/lock/subsys/chronyd
76}
77
78condrestart() {
79 if [ ! -f /var/lock/subsys/chronyd ]; then
80 msg_not_running "Chronyd NTPD"
81 RETVAL=$1
82 return
83 fi
84
85 stop
86 start
87}
88
89RETVAL=0
90# See how we were called.
91case "$1" in
92 start)
93 start
94 ;;
95 stop)
96 stop
97 ;;
98 restart)
99 stop
100 start
101 ;;
102 try-restart)
103 condrestart 0
104 ;;
105 force-reload)
106 condrestart 7
107 ;;
30e9ceb6 108 cyclelogs|flush-logs)
40804fc2
ER
109 status chronyd >/dev/null 2>&1 || exit 7
110 chrony_command cyclelogs
111 ;;
30e9ceb6 112 online|offline)
8aaf2ebf
ER
113 status chronyd >/dev/null 2>&1 || exit 7
114 chrony_command $1
115 ;;
116 command)
117 status chronyd >/dev/null 2>&1 || exit 7
118 chrony_command "$2"
119 ;;
120 status)
121 status chronyd
122 RETVAL=$?
1c33df65
ER
123 if [ $RETVAL = 0 ]; then
124 chrony_command sources
125 fi
8aaf2ebf
ER
126 ;;
127 *)
833f1004 128 msg_usage "$0 {start|stop|restart|try-restart|force-reload|online|offline|cyclelogs|command|status}"
8aaf2ebf
ER
129 exit 3
130esac
131
132exit $RETVAL
This page took 0.105421 seconds and 4 git commands to generate.