Modul systemu wylacza sie lub zawiesza
(→Zawartość skryptu) |
|||
| Linia 9: | Linia 9: | ||
===Zawartość skryptu=== | ===Zawartość skryptu=== | ||
| − | < | + | <pre>#!/bin/bash |
DZIEN=`date +%c` | DZIEN=`date +%c` | ||
| Linia 26: | Linia 26: | ||
WYNIK=`systemctl status $MODUL | grep running` | WYNIK=`systemctl status $MODUL | grep running` | ||
done | done | ||
| − | fi</ | + | fi</pre> |
==Dodanie wpisu do crontab== | ==Dodanie wpisu do crontab== | ||
Aktualna wersja na dzień 12:30, 18 paź 2013
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.
[edytuj] 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.
[edytuj] Zawartość skryptu
#!/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
[edytuj] 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.