Por muito tempo eu configuro um servidor em casa, com vários serviços, centro de mídia, etc…
O importante em um servidor é que seus serviços funcionem corretamente pelo maior tempo possível, por isso é necessário verificar se todos estão ativos. No entanto, devido a erros, em algumas ocasiões, esses servidores param de funcionar, então é necessário verificar se permanecem ativos de tempos em tempos e, se não estiverem, reativá-los.
Por isso, aqui deixo o código para verificar e reiniciar os serviços.
Seu “fichero.sh” Procure por “PATH” e insira a localização dos arquivos solicitados:
#!/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
fiUma vez salvos, executamos:
sudo crontab -eE no arquivo que se abre, inserimos:
*/1 * * * * bash RUTA/fichero.shOnde “1” é o número de minutos que devem se passar entre as verificações.






