3 # Copyright (C) 2007 Dinko Korunic, CARNet, Grupa za izradu paketa
5 # This program is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by the
7 # Free Software Foundation; either version 2 of the License, or (at your
8 # option) any later version.
10 MONIT_DIR=/etc/monit.d
11 TEMPLATES_DIR=/usr/share/monit-cn
17 if [ ! -r "$filename" ]; then
22 scriptpid='BEGIN { RS = "[ \t\n]+" }
25 if (line[j] == "pidfile")
27 pidfiles=$(awk "$scriptpid" < "$filename" | sed -e 's/"//g')
28 check_pidfile $pidfiles
30 if [ $RET -eq 1 ]; then
34 scriptinit='BEGIN { RS = "[ \t\n]+" }
37 if (((line[j] == "start") || (line[j] == "stop")) && (line[j + 1] == "program") && (line[j + 2] == "="))
39 initscripts=$(awk "$scriptinit" < "$filename" | sed -e 's/"//g')
40 check_initscript $initscripts
51 if [ $RET -eq 1 ]; then
68 if [ ! -x "$1" ]; then
82 if ! kill -0 "$1" >/dev/null 2>&1; then
92 #####################################################################
95 if [ ! -d "$MONIT_DIR" ]; then
99 for i in $(find "$MONIT_DIR" -name '*.conf'); do
101 if [ ! $RET -eq 0 ]; then
102 serviceconf=$(basename $i)
103 echo "CN: Disabled $serviceconf"
109 for i in $(find "$TEMPLATES_DIR" -name '*.conf'); do
110 serviceconf=$(basename $i)
111 if [ -r "$MONIT_DIR"/$serviceconf.disabled ]; then
112 check_service "$MONIT_DIR"/$serviceconf.disabled
113 if [ $RET -eq 0 ]; then
114 if [ ! -r "$MONIT_DIR"/$serviceconf ]; then
115 echo "CN: Enabled $serviceconf (previously disabled)"
116 mv "$MONIT_DIR"/$serviceconf.disabled \
117 "$MONIT_DIR"/$serviceconf
123 if [ $RET -eq 0 ]; then
124 if [ ! -r "$MONIT_DIR"/$serviceconf ]; then
125 echo "CN: Enabled $serviceconf (new service)"
126 cp -a $i "$MONIT_DIR"
133 if [ $changed -eq 1 ]; then
134 echo "CN: Stopping/restarting monit service"
135 pkill -9 -f /usr/sbin/monit || true
137 echo "CN: No new services detected, sorry"