Guide

Come Controllare Stato di un Server Web con Curl

Quanto sarebbe bello avere un solo comando shell per verificare in modo veloce e diretto lo statto del nostro server personale?

Con il sistema che stiamo per presentarvi, possiamo controllare in modo veloce e diretto lo stato di un nostro server web, sul quale ad esempio opsitiamo un sito web o qualche applicazione web.

Per far questo tipo di lavoro avremo bisogno del tool cURL, che è presente di default su quasi tutte le distro GNU/Linux. Per controllare se il tool cURL è presente nella vostra distro, non dovete far altro che avviare il Terminale e poi scrivere curl. Se è installato il tool si avvia, altrimenti vi verrà suggerito di installarlo. Per esempio su Ubuntu e derivate, curl si installa con un semplice:

sudo apt-get install curl
Per muovere i primi passi con cURL e capirne il funzionamento proviamo il seguente esempio: apriamo un terminale e digitiamo

curl -sI www.ilmiosito.it

Con questo comando riceverete una risposta dal server su cui è ostipato il sito. Se nel risultato di risposta è presente la stringa => HTTP/1.1 200 OK => significa che il sistema è attivo e funziona correttamente. Per rendere più immediata la lettura dell’output possiamo filtrare il comando tramite la funzione pipe, quindi il comando precedente diventerà:

curl -sI www.ilmiosito.it | grep ‘HTTP’
Ovviamente, anche in questo caso, la risposta del server deve essere 200 OK.
Se poi vogliamo far si che il messaggio ottenuto dal server sia molto più geek/nerd, possiamo fare in modo che il server ci risponda con una frase specifica, quindi il nostro comando dovrebbe essere così:

if curl -sI http://www.ilmiosito.it | grep “200 OK” > /dev/null; then echo ‘Il server dice che tutto va bene’; else echo ‘Il server è irraggiungibile’; fi
Con un pò di pazienza e piccole migliorie è possibile creare uno script e farlo eseguire ad intervalli regolari facendoci inviare le risposte, magari solo quelle negative, via e-mail.

In questo modo saremo sempre in grado di tenere sotto controllo il corretto funzionamento del nosto web server e pronti a prendere i giusti provvedimenti in caso di necessità.