Modul systemu wylacza sie lub zawiesza

(Różnice między wersjami)
Skocz do: nawigacji, wyszukiwania
(Zawartość skryptu)
(Zawartość skryptu)
Linia 9: Linia 9:
  
 
===Zawartość skryptu===
 
===Zawartość skryptu===
<pre>#!/bin/bash
+
<syntax type="C++">#!/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</pre>
+
fi</syntax>
  
 
==Dodanie wpisu do crontab==
 
==Dodanie wpisu do crontab==

Wersja z 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.

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

<syntax type="C++">#!/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</syntax>

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.

Osobiste
Przestrzenie nazw
Warianty
Działania
Nawigacja
Konfiguracja Systemu
Szablony
API
PostgreSQL
Narzędzia
MENU