Modul systemu wylacza sie lub zawiesza
(→Zawartość skryptu) |
|||
(Nie pokazano 3 wersji utworzonych przez jednego użytkownika) | |||
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.