Subversion Repositories ALCASAR

Rev

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

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