Voici le script d’une sonde pour vérifier qu’un service est bien actif.
Exemple pour Nginx:
#!/bin/bash
a=`systemctl is-active nginx`
if [ « $a » != « active » ] ; then
echo « KO ==> service nginx DOWN »
exit 2
else
echo « OK ==> service nginx UP »
exit 0
fi
Exemple pour Postgres:
#!/bin/bash
b=`systemctl is-active postgresql.service`
if [ « $b » != « active » ] ; then
echo « KO ==> service postgresql DOWN »
exit 2
else
echo « OK ==> service postgresql UP »
exit 0
fi
Exemple pour en mettant le nom du service en argument du script ($1):
#!/bin/bash
systemctl list-units|grep -i $1 > /dev/null
if [ $? -ne 0 ]
then
echo « KO ==> service $1 introuvable »
exit 2
fistate=`systemctl is-active $1`
if [ « $state » != « active » ] ; then
echo « KO ==> service $1 DOWN »
exit 2
else
echo « OK ==> service $1 UP »
exit 0
fi