Riavvio Automatico dei Demoni dopo un Crash

Pubblicato da Yuri Carlenzoli | 16 settembre 2009

Questo è uno script per linux che permette di riavviare automaticamente i demoni se crashano, qui per Apache, può adattarsi anche per i programmi.

crash-computer

Anche se si sa la proverbiale stabilità di linux, se troppo sotto sforzo il computer, sopratutto se è una macchina molto lenta potrebbe succedere che va in crash qualcosa, se si sono già verificati dei crash di servizi o programmi e si sa qual'è, e, se si vuole fare andare down il meno possibile un demone (apache nell'esempio) questo script ha il compito di monitorarlo e riavviarlo se si ferma.

Lo script bash per riavviare automaticamente servizi o programmi

Lo script è molto semplice, si possono vedere i commenti che ho aggiunto che spiegano a cosa servono le varie cose.

#!/bin/bash
#path assoluta del comando per riavviare il programma/servizio/demone questa è la path di slackware!
RIAVVIA="/etc/rc.d/rc.httpd restart"
#path assoluta del comando pgrep
PGREP="/usr/bin/pgrep"
#nome del demone
NET="httpd"
#trova il PID del demone
$PGREP ${NET}
# if che vede se il programma/servizio/demone non è avviato
if [ $? -ne 0 ]
then
# se non è avviato lo riavvia
$RIAVVIA
fi

Questo script d'esempio ha la funzione di verificare se crasha Apache, utile per non fare andare down troppo tempo il sito/server, comunque, g l'utilizzi dello script sono "infiniti", è possibile monitorare quasi qualunque cosa, utile per demoni ma si potrebbe anche controllare se è attivo un programma per scaricare che sta facendo il download da internet quando non si è al computer, le risorse di sistema utilizzate per il controllo sono misere, come la grandezza dello script.

Per chi non sapesse come avviare automaticamente lo script:

innanzitutto salva lo script con un qualsiasi nome ma con estensione .sh, poi lo s'imposta tramite crontab, se non si sa usare crontab ricordo che ho presentato gcrontab che è comodissimo per automatizzare linux, dove, si farà eseguire lo script ogni tot. minuti (5 è un buon numero).

Via MWolk.

Thanks to image waffler.

Un commento su “Riavvio Automatico dei Demoni dopo un Crash

  1. Paolo

    Ottimo articolo, unico problema, con lo script bash soprariportato anche quando il servizio sarà attivo crontab scriverà in /var/mail una notifica col pid del servizio controllato.
    Settando crontab ogni 5 minuti come consigliato nell'esempio in pochi giorni saremo sotterrati di inutili avvisi di corretto funzionamento.
    La mia esperienza è limitata, l'unica soluzione trovata è stata deviare tutti gli output direttamente da crontab aggiungendo un >/dev/null dopo il path del file bash, ma questo elimina anche i messaggi (utili) di riavvio del demone/programma/servizio.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Moderazione dei commenti attiva. Il tuo commento non apparirà immediatamente.