Subversion Repositories ALCASAR

Rev

Rev 2474 | Rev 2520 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2474 Rev 2488
1
#!/bin/sh
1
#!/bin/sh
2
# $Id: alcasar-daemon.sh 2474 2017-12-30 02:00:04Z tom.houdayer $
2
# $Id: alcasar-daemon.sh 2488 2018-02-25 14:53:54Z lucas.echard $
3
 
3
 
4
# alcasar-daemon.sh
4
# alcasar-daemon.sh
5
# by Franck BOUIJOUX & Rexy
5
# by Franck BOUIJOUX & Rexy
6
# This script is distributed under the Gnu General Public License (GPL)
6
# This script is distributed under the Gnu General Public License (GPL)
7
# Watchdog of Services
7
# Watchdog of Services
8
# See /etc/cron.d/alcasar-daemon-watchdog for config the time
8
# See /etc/cron.d/alcasar-daemon-watchdog for config the time
9
 
9
 
10
conf_file="/usr/local/etc/alcasar.conf"
10
conf_file="/usr/local/etc/alcasar.conf"
11
SSH=`grep ^SSH= $conf_file|cut -d"=" -f2`				# sshd active (on/off)
11
SSH=`grep ^SSH= $conf_file|cut -d"=" -f2`				# sshd active (on/off)
12
SSH=${SSH:=off}
12
SSH=${SSH:=off}
13
SERVICES="mysqld httpd ntpd havp dnsmasq dnsmasq-blacklist dnsmasq-whitelist dnsmasq-blackhole radiusd tinyproxy nfsen dansguardian freshclam ulogd-ssh ulogd-traceability ulogd-ext-access chilli fail2ban sshd vnstat"
13
SERVICES="mysqld lighttpd ntpd havp dnsmasq dnsmasq-blacklist dnsmasq-whitelist dnsmasq-blackhole radiusd tinyproxy nfsen dansguardian freshclam ulogd-ssh ulogd-traceability ulogd-ext-access chilli fail2ban sshd vnstat"
14
nb_available_srv=`echo $SERVICES|wc -w`
14
nb_available_srv=`echo $SERVICES|wc -w`
15
 
15
 
16
function ServiceTest () {
16
function ServiceTest () {
17
	CMD=`/usr/bin/systemctl is-active $s`
17
	CMD=`/usr/bin/systemctl is-active $s`
18
	if [ $CMD != "active" ]
18
	if [ $CMD != "active" ]
19
	then
19
	then
20
		logger -i "!! $s is inactive. Activation attempt"
20
		logger -i "!! $s is inactive. Activation attempt"
21
		echo "the $s service is disabled! trying to start it..."
21
		echo "the $s service is disabled! trying to start it..."
22
		/usr/bin/systemctl start $s.service
22
		/usr/bin/systemctl start $s.service
23
	else
23
	else
24
		nb_srv=$((nb_srv+1))
24
		nb_srv=$((nb_srv+1))
25
	fi
25
	fi
26
}
26
}
27
 
27
 
28
nb_srv=0
28
nb_srv=0
29
for s in $SERVICES
29
for s in $SERVICES
30
do
30
do
31
	if [ $s != "sshd" ]
31
	if [ $s != "sshd" ]
32
	then
32
	then
33
		ServiceTest
33
		ServiceTest
34
	else
34
	else
35
		{
35
		{
36
		if [ $SSH == "ON" ] || [ $SSH == "on" ] || [ $SSH == "On" ]
36
		if [ $SSH == "ON" ] || [ $SSH == "on" ] || [ $SSH == "On" ]
37
		then
37
		then
38
			ServiceTest
38
			ServiceTest
39
		else
39
		else
40
			nb_available_srv=$((nb_available_srv-1))		
40
			nb_available_srv=$((nb_available_srv-1))		
41
		fi
41
		fi
42
		}
42
		}
43
	fi
43
	fi
44
done
44
done
45
if [ $nb_available_srv -ne $nb_srv ]
45
if [ $nb_available_srv -ne $nb_srv ]
46
	then
46
	then
47
	echo "restart this script to know if all is ok"
47
	echo "restart this script to know if all is ok"
48
else
48
else
49
	echo "$nb_srv services needed by ALCASAR are started. All is ok"
49
	echo "$nb_srv services needed by ALCASAR are started. All is ok"
50
fi
50
fi
51
 
51