Subversion Repositories ALCASAR

Rev

Rev 1574 | Rev 1791 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
807 franck 1
#!/bin/sh
825 franck 2
# $Id: alcasar-daemon.sh 1596 2015-03-16 23:07:55Z richard $
807 franck 3
 
824 franck 4
# alcasar-daemon.sh
1474 richard 5
# by Franck BOUIJOUX & Rexy
807 franck 6
# This script is distributed under the Gnu General Public License (GPL)
7
# Watchdog of Services
8
# See /etc/cron.d/alcasar-daemon-watchdog for config the time
9
 
824 franck 10
conf_file="/usr/local/etc/alcasar.conf"
11
SSH=`grep SSH= $conf_file|cut -d"=" -f2`				# sshd active (on/off)
12
SSH=${SSH:=off}
1474 richard 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"
1596 richard 14
nb_available_srv=`echo $SERVICES|wc -w`
807 franck 15
 
824 franck 16
function ServiceTest () {
1596 richard 17
	CMD=`/usr/bin/systemctl is-active $s`
18
	if [ $CMD != "active" ]
19
	then
1476 richard 20
		logger -i "!! $s is inactive. Activation attempt"
1596 richard 21
		echo "the $s service is disabled! trying to start it..."
22
	       	/usr/bin/systemctl start $s.service
23
	else
24
		nb_srv=$((nb_srv+1))
25
	fi
824 franck 26
}
807 franck 27
 
1596 richard 28
nb_srv=0
1474 richard 29
for s in $SERVICES
807 franck 30
do
824 franck 31
	if [ $s != "sshd" ] 
807 franck 32
	then
1596 richard 33
		ServiceTest
824 franck 34
	else
1596 richard 35
		{
36
		if [ $SSH == "ON" ] || [ $SSH == "on" ] || [ $SSH == "On" ]
37
	    	then
38
			ServiceTest
39
		else
40
			nb_available_srv=$((nb_available_srv-1))		
41
		fi
42
		}
807 franck 43
	fi
44
done
1596 richard 45
if [ $nb_available_srv -ne $nb_srv ]
46
	then
47
	echo "restart this script to know if all is ok"
48
else
49
	echo "$nb_srv services are started. All is ok"
50
fi