Modul systemu wylacza sie lub zawiesza
Jeżeli jakiś moduł systemu np. net47d, net47socketd, net47redbackd itd. wyłącza się lub zawiesza w niekontrolowany sposób, można utworzyć skrypt bashowy i dodać wpis do crontaba, aby system automatycznie sprawdzał czy moduł działa i w razie problemów automatycznie go restartował.
Cały czas monitorujemy i debugujemy moduły w poszukiwaniu ewentualnych błędów i przyczyn zawieszania bądź też wyłączania. Jeżeli któryś moduł się zawiesi prosimy o maila na wsparcie@net47.pl z informacją, jaka operacja była akurat w systemie wykonywana przed zawieszeniem i który moduł się zawiesił. Pozwoli nam to na szybsze zlokalizowanie błędu, jego wyeliminowanie i w konsekwencji spowoduje stabilniejszą pracę systemu.
Utworzenie skryptu autorestart.sh
Należy utworzyć skrypt bashowy w katalogu /home/net47/cron-script o nazwie autorestart.sh.
Zadaniem skryptu jest sprawdzenie statusu modułu i w przypadku gdy moduł nie jest uruchomiony dodawany jest wpis do logu oraz wykonywany jest restart modułu.
Zawartość skryptu
<source lang="cpp">#!/bin/bash
DZIEN=`date +%c` MODUL=$1
WYNIK=`systemctl status $MODUL | grep running` WYNIK2=`systemctl status $MODUL`
if [ "$WYNIK" == "" ] then
echo -e "==================================================\r"$DZIEN": INFO: Restart modułu \r"$WYNIK2 >> /var/log/net47/$MODUL.restart while [ "$WYNIK" == "" ] do
WYNIK=`systemctl reset-failed $MODUL` WYNIK=`systemctl restart $MODUL` WYNIK=`systemctl status $MODUL | grep running`
done
fi</source>
Dodanie wpisu do crontab
Jeżeli chcemy, aby co minutę był sprawdzany moduł net47d dodajemy wpis:
*/1 * * * * /home/net47/cron-script/autorestart.sh net47d
Jeżeli chcemy, aby co minutę był sprawdzany moduł net47socketd dodajemy wpis:
*/1 * * * * /home/net47/cron-script/autorestart.sh net47socketd
Do crontaba można dodać wpis dla każdego modułu systemu net47.