Subversion Repositories ALCASAR

Rev

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

Rev 1596 Rev 1791
1
#!/bin/sh
1
#!/bin/sh
2
# $Id: alcasar-daemon.sh 1596 2015-03-16 23:07:55Z richard $
2
# $Id: alcasar-daemon.sh 1791 2016-02-07 16:12:04Z franck $
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 iptables dnsmasq dnsmasq-blacklist dnsmasq-whitelist dnsmasq-blackhole radiusd nfsen dansguardian freshclam ulogd-ssh ulogd-traceability ulogd-ext-access chilli fail2ban sshd"
13
SERVICES="mysqld httpd ntpd iptables dnsmasq dnsmasq-blacklist dnsmasq-whitelist dnsmasq-blackhole radiusd tinyproxy nfsen dansguardian freshclam ulogd-ssh ulogd-traceability ulogd-ext-access chilli fail2ban sshd"
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 are started. All is ok"
49
	echo "$nb_srv services are started. All is ok"
50
fi
50
fi
51
 
51