Depuis longtemps, j’ai installé un serveur à la maison, avec plusieurs services, un centre multimédia, etc…
L’essentiel dans un serveur est que ses services fonctionnent correctement aussi longtemps que possible, il est donc nécessaire de vérifier s’ils sont tous actifs. Cependant, en raison d’erreurs, parfois ces serveurs cessent de fonctionner, il est donc nécessaire de vérifier qu’ils restent actifs de temps à autre et, s’ils ne le sont pas, de les réactiver.
C’est pourquoi je vous laisse ici le code pour vérifier et relancer les services.
Votre « fichero.sh » Cherchez « PATH » et entrez l’emplacement des fichiers demandés :
#!/bin/bash
services=(zoneminder webmin tomcat6 subsonic apache2)
for name in ${services[@]}
do
SERVICEEXIST=`sudo service $name status|grep -n "is running"|cut -d: -f1`
if [ "$SERVICEEXIST" != "1" ] ; then
service $name start
fi
done
procesos=(amuled utserver lircd)
for name in ${procesos[@]}
do
PROCESSNAME=`ps -A|grep $name|cut -d: -f3|cut -d" " -f2|tail -1`
if [ "$PROCESSNAME" != "$name" ]; then
case $name in
"amuled") sudo service amule-daemon restart; break;;
"utserver") RUTA/utserver -daemon; break;;
"lircd") sudo service lirc start; break;;
esac
fi
done
pyload=`pyLoadCore --status`
if [ $pyload == "false" ];then
pyLoadCore --daemon
fi
nxserver=`sudo /usr/NX/bin/nxserver --status|grep -n "is running"|cut -d: -f1`
if [ $pyload == "false" ];then
sudo /usr/NX/bin/nxserver --daemon
fi
SERVICEEXIST=`sudo service proftpd status|grep -n "currently running"|cut -d: -f1`
if [ $SERVICEEXIST == "false" ];then
sudo service proftpd start
fi
SERVICEEXIST=`sudo service ssh status|grep -n "running"|cut -d: -f1`
if [ $SERVICEEXIST == "false" ];then
sudo service ssh start
fi
SERVICEEXIST=`sudo service mysql status|grep -n "running"|cut -d: -f1`
if [ $SERVICEEXIST == "false" ];then
sudo service ssh start
fi
SERVICEEXIST=`sudo service cups status|grep -n "running"|cut -d: -f1`
if [ $SERVICEEXIST == "false" ];then
sudo service ssh start
fiUne fois sauvegardés, nous exécutons :
sudo crontab -eEt dans le fichier qui s’ouvre, nous entrons :
*/1 * * * * bash RUTA/fichero.shOù « 1 » est le nombre de minutes qui doivent s’écouler entre les contrôles.






