Subversion Repositories ALCASAR

Rev

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

Rev 2488 Rev 2520
1
#!/bin/sh
1
#!/bin/sh
2
# $Id: alcasar-daemon.sh 2488 2018-02-25 14:53:54Z lucas.echard $
2
# $Id: alcasar-daemon.sh 2520 2018-04-02 17:32:07Z rexy $
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 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"
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
	
45
if [ $nb_available_srv -ne $nb_srv ]
46
if [ $nb_available_srv -ne $nb_srv ]
46
	then
47
then
47
	echo "restart this script to know if all is ok"
48
	echo "Restart this script to know if all is ok"
-
 
49
else
-
 
50
	echo "$nb_srv services needed by ALCASAR are started."
-
 
51
fi
-
 
52
 
-
 
53
if [ `lsmod|grep ipt_NETFLOW|wc -l` == 0 ]
-
 
54
then
-
 
55
	logger -i "!! ipt_netflow is inactive."
-
 
56
	echo "The Log system is disabled! try to know why (modprobe ipt_NETFLOW)"
48
else
57
else
49
	echo "$nb_srv services needed by ALCASAR are started. All is ok"
58
	echo "The Log system is active"
50
fi
59
fi
51
 
60