Les erreurs de lanceurs sont maintenant envoyées au gestionnaire d'alerte plutot qu'à l'écran (ras le bol des mails en boucle)
Le passage des processus n'est possible qu'en Bash4 et +. Pour les Bash3, on retourne à la gestion avec les liens symboliques git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@428 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
41
check
41
check
@@ -62,11 +62,17 @@ function chercheLanceur()
|
|||||||
# On peut définir un tableau supplémentaire dans le fichier de configuration
|
# On peut définir un tableau supplémentaire dans le fichier de configuration
|
||||||
# Si le lanceur n'est pas défini dans le tableau, on renvoie le nom du
|
# Si le lanceur n'est pas défini dans le tableau, on renvoie le nom du
|
||||||
# processus
|
# processus
|
||||||
processus=$1
|
if [ $BASH_VERSINFO -ge 4 ]; then
|
||||||
if [ -z ${lanceur["$processus"]} ]; then
|
processus=$1
|
||||||
echo "$processus"
|
if [ -z ${lanceur["$processus"]} ]; then
|
||||||
|
echo "$processus"
|
||||||
|
else
|
||||||
|
echo ${lanceur["$processus"]}
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo ${lanceur["$processus"]}
|
# Le Bash 3 ne supporte pas les tableaux associatifs. On retourne aux liens
|
||||||
|
# symboliques
|
||||||
|
echo $1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,7 +80,7 @@ function testps()
|
|||||||
{
|
{
|
||||||
lanceur=`chercheLanceur "$1"`
|
lanceur=`chercheLanceur "$1"`
|
||||||
if [ ! -e "/etc/init.d/$lanceur" ]; then
|
if [ ! -e "/etc/init.d/$lanceur" ]; then
|
||||||
echo "ERREUR : /etc/init.d/$lanceur introuvable (testps)"
|
checklog "ERREUR : /etc/init.d/$lanceur introuvable (testps)"
|
||||||
else
|
else
|
||||||
if [ `ps -edf | grep -v grep | grep "$*" | wc -l` -eq 0 ]; then
|
if [ `ps -edf | grep -v grep | grep "$*" | wc -l` -eq 0 ]; then
|
||||||
checklog "Relance de '$*' par /etc/init.d/$lanceur"
|
checklog "Relance de '$*' par /etc/init.d/$lanceur"
|
||||||
@@ -89,7 +95,7 @@ function testpsStrict()
|
|||||||
# On rend le test plus strict en mettant un slash devant le nom du demon
|
# On rend le test plus strict en mettant un slash devant le nom du demon
|
||||||
lanceur=`chercheLanceur "$1"`
|
lanceur=`chercheLanceur "$1"`
|
||||||
if [ ! -e "/etc/init.d/$lanceur" ]; then
|
if [ ! -e "/etc/init.d/$lanceur" ]; then
|
||||||
echo "ERREUR : /etc/init.d/$lanceur introuvable (testpsStrict) "
|
checklog "ERREUR : /etc/init.d/$lanceur introuvable (testpsStrict) "
|
||||||
else
|
else
|
||||||
if [ `ps -edf | grep -v grep | grep "/$*" | wc -l` -eq 0 ]; then
|
if [ `ps -edf | grep -v grep | grep "/$*" | wc -l` -eq 0 ]; then
|
||||||
checklog "Relance de '$*' par /etc/init.d/$lanceur"
|
checklog "Relance de '$*' par /etc/init.d/$lanceur"
|
||||||
@@ -103,7 +109,7 @@ function testiptables()
|
|||||||
{
|
{
|
||||||
# Verifie que iptables est bien ferme
|
# Verifie que iptables est bien ferme
|
||||||
if [ ! -e "/etc/init.d/ipt4" ] && [ ! -e "/etc/init.d/ipt" ]; then
|
if [ ! -e "/etc/init.d/ipt4" ] && [ ! -e "/etc/init.d/ipt" ]; then
|
||||||
echo "ERREUR : /etc/init.d/ipt4 ou /etc/init.d/ipt introuvable (testiptables) "
|
checklog "ERREUR : /etc/init.d/ipt4 ou /etc/init.d/ipt introuvable (testiptables) "
|
||||||
else
|
else
|
||||||
if [ `/sbin/iptables -L -n | wc -l` -lt 10 ]; then
|
if [ `/sbin/iptables -L -n | wc -l` -lt 10 ]; then
|
||||||
checklog "Relance de IPTables IPv4"
|
checklog "Relance de IPTables IPv4"
|
||||||
@@ -120,7 +126,7 @@ function testip6tables()
|
|||||||
{
|
{
|
||||||
# Verifie que ip6tables est bien ferme
|
# Verifie que ip6tables est bien ferme
|
||||||
if [ ! -e "/etc/init.d/ipt6" ]; then
|
if [ ! -e "/etc/init.d/ipt6" ]; then
|
||||||
echo "ERREUR : /etc/init.d/ipt6 introuvable (testip6tables) "
|
checklog "ERREUR : /etc/init.d/ipt6 introuvable (testip6tables) "
|
||||||
else
|
else
|
||||||
if [ `/sbin/ip6tables -L -n | wc -l` -lt 10 ]; then
|
if [ `/sbin/ip6tables -L -n | wc -l` -lt 10 ]; then
|
||||||
checklog "Relance de IPTables IPv6"
|
checklog "Relance de IPTables IPv6"
|
||||||
@@ -175,7 +181,7 @@ function testPort()
|
|||||||
# Attend 3 parametres : l'adresse IP a tester, le port a tester et le
|
# Attend 3 parametres : l'adresse IP a tester, le port a tester et le
|
||||||
# fichier /etc/init.d/XX a relancer
|
# fichier /etc/init.d/XX a relancer
|
||||||
if [ ! -e "/etc/init.d/$3" ]; then
|
if [ ! -e "/etc/init.d/$3" ]; then
|
||||||
echo "ERREUR : /etc/init.d/$3 introuvable (testPort)"
|
checklog "ERREUR : /etc/init.d/$3 introuvable (testPort)"
|
||||||
else
|
else
|
||||||
RESULTAT=`echo "QUIT" | nc -w1 $1 $2 2>&1`
|
RESULTAT=`echo "QUIT" | nc -w1 $1 $2 2>&1`
|
||||||
if [ "$?" != "0" ]; then
|
if [ "$?" != "0" ]; then
|
||||||
@@ -196,7 +202,7 @@ function testDDClient()
|
|||||||
# on attend 15 s et on refait le test. Si le test est toujours negatif on
|
# on attend 15 s et on refait le test. Si le test est toujours negatif on
|
||||||
# relance.
|
# relance.
|
||||||
if [ ! -e "/etc/init.d/ddclient" ]; then
|
if [ ! -e "/etc/init.d/ddclient" ]; then
|
||||||
echo "ERREUR : /etc/init.d/ddclient introuvable (testDDClient)"
|
checklog "ERREUR : /etc/init.d/ddclient introuvable (testDDClient)"
|
||||||
else
|
else
|
||||||
LIGNE1=`ps -edf | grep -v grep | egrep "ddclient "`
|
LIGNE1=`ps -edf | grep -v grep | egrep "ddclient "`
|
||||||
LIGNE2=`echo $LIGNE1 | egrep 'ddclient - sleeping for|ddclient - (connecting to|reading from) checkip.dyndns.com port 80'`
|
LIGNE2=`echo $LIGNE1 | egrep 'ddclient - sleeping for|ddclient - (connecting to|reading from) checkip.dyndns.com port 80'`
|
||||||
@@ -268,11 +274,16 @@ fi
|
|||||||
# On peut définir des lanceurs dans la fonction chercheLanceur, ou dans le
|
# On peut définir des lanceurs dans la fonction chercheLanceur, ou dans le
|
||||||
# fichier de configuration /etc/check.conf. Si on redéfinit un lanceur dans
|
# fichier de configuration /etc/check.conf. Si on redéfinit un lanceur dans
|
||||||
# /etc/check.conf, c'est lui qui est prioritaire par rapport à ceux codés en dur
|
# /etc/check.conf, c'est lui qui est prioritaire par rapport à ceux codés en dur
|
||||||
declare -A lanceur
|
if [ $BASH_VERSINFO -ge 4 ]; then
|
||||||
lanceur[ntpd]="ntp"
|
declare -A lanceur
|
||||||
lanceur[bind]="bind9"
|
lanceur[bind]="bind9"
|
||||||
lanceur[rsyslogd]="rsyslog"
|
lanceur[dhcpd]="isc-dhcp-server"
|
||||||
lanceur[sshd]="ssh"
|
lanceur[mysqld]="mysql"
|
||||||
|
lanceur[ntpd]="ntp"
|
||||||
|
lanceur[rsyslogd]="rsyslog"
|
||||||
|
lanceur[spamd]="spamassassin"
|
||||||
|
lanceur[sshd]="ssh"
|
||||||
|
fi
|
||||||
|
|
||||||
. /etc/check.conf
|
. /etc/check.conf
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user