]>
Commit | Line | Data |
---|---|---|
dfab42e0 AM |
1 | #!/bin/sh |
2 | # | |
3 | # monit Monitoring daemon | |
4 | # | |
ac219be1 | 5 | # chkconfig: 345 99 01 |
dfab42e0 AM |
6 | # description: Monitoring daemon |
7 | # | |
8 | ||
9 | # Source function library | |
10 | . /etc/rc.d/init.d/functions | |
11 | ||
12 | # Get service config | |
13 | [ -f /etc/sysconfig/monit ] && . /etc/sysconfig/monit | |
14 | ||
a466ee9c ER |
15 | checkconfig() { |
16 | local out | |
e09b5b4a | 17 | out=$(/usr/sbin/monit -c /etc/monitrc -t 2>&1) |
a466ee9c ER |
18 | ret=$? |
19 | if [ $ret != 0 ]; then | |
20 | echo >&2 "$out" | |
21 | exit 1 | |
22 | fi | |
23 | } | |
24 | ||
271cb128 | 25 | start() { |
dfab42e0 | 26 | # Check if the service is already running? |
5461937c | 27 | if [ -f /var/lock/subsys/monit ] && status monit >/dev/null; then |
d7723a0c | 28 | msg_already_running monit |
d2e1d75a | 29 | return |
dfab42e0 | 30 | fi |
d2e1d75a ER |
31 | |
32 | checkconfig | |
33 | msg_starting monit | |
34 | daemon --pidfile /var/run/monit.pid /usr/sbin/monit -c /etc/monitrc -s /var/run/monit.state $OPTIONS | |
35 | RETVAL=$? | |
36 | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/monit | |
271cb128 ER |
37 | } |
38 | ||
39 | stop() { | |
d7723a0c | 40 | # Stop daemons. |
d2e1d75a | 41 | if [ ! -f /var/lock/subsys/monit ]; then |
dfab42e0 | 42 | msg_not_running monit |
d2e1d75a | 43 | return |
dfab42e0 | 44 | fi |
d2e1d75a ER |
45 | |
46 | msg_stopping monit | |
47 | busy | |
48 | /usr/sbin/monit -c /etc/monitrc quit | |
49 | RETVAL=$? | |
50 | [ $RETVAL -eq 0 ] && ok || fail | |
51 | rm -f /var/lock/subsys/monit > /dev/null 2>&1 | |
52 | } | |
53 | ||
54 | reload() { | |
55 | if [ ! -f /var/lock/subsys/monit ]; then | |
56 | msg_not_running monit | |
57 | exit 7 | |
58 | fi | |
59 | ||
60 | checkconfig | |
61 | msg_reloading monit | |
62 | busy | |
63 | /usr/sbin/monit -c /etc/monitrc reload | |
64 | RETVAL=$? | |
65 | [ $RETVAL -eq 0 ] && ok || fail | |
271cb128 ER |
66 | } |
67 | ||
68 | RETVAL=0 | |
69 | # See how we were called. | |
70 | case "$1" in | |
71 | start) | |
0d22d695 | 72 | start |
dfab42e0 | 73 | ;; |
271cb128 | 74 | stop) |
0d22d695 | 75 | stop |
dfab42e0 AM |
76 | ;; |
77 | restart) | |
a466ee9c | 78 | checkconfig |
271cb128 ER |
79 | stop |
80 | start | |
dfab42e0 | 81 | ;; |
d9f04f70 | 82 | reload|force-reload) |
d2e1d75a | 83 | reload |
dfab42e0 | 84 | ;; |
a466ee9c ER |
85 | checkconfig) |
86 | checkconfig | |
87 | echo "Config check OK" | |
88 | ;; | |
271cb128 ER |
89 | status) |
90 | status monit | |
749e7cee ER |
91 | RETVAL=$? |
92 | # monit status is unreliable (always 0). so use rc-scripts status code | |
271cb128 | 93 | monit -c /etc/monitrc status |
749e7cee | 94 | exit $RETVAL |
271cb128 | 95 | ;; |
dfab42e0 | 96 | *) |
a466ee9c | 97 | msg_usage "$0 {start|stop|restart|reload|force-reload|checkconfig|status}" |
d9f04f70 | 98 | exit 3 |
dfab42e0 AM |
99 | esac |
100 | ||
101 | exit $RETVAL |