Si vous êtes curieux de savoir quand un site web est hors ligne sans pour autant devoir installer un service de monitoring, voici un petit script bash (Linux) qui vérifie la connexion au service web des sites inscrits dans la ligne HOSTS et qui vous prévient par mail et inscrit dans un fichier de log lors d’un incident.
Pour le faire fonctionner, il faut simplement indiquer les sites web à vérifier dans la variable HOSTS (séparés par des espaces), indiquer votre adresse email (en ayant pris soin de configurer mailutils).
Le script :
#!/bin/bash HOSTS="yahoo.fr perdu.com https://google.be" SUBJECT="Site web Hors ligne" EMAIL="toto@exemple.com" # votre email ici TIMEOUT=2 for myHost in $HOSTS do result=$(wget -T $TIMEOUT -t 1 $myHost -O /dev/null -o /dev/stdout | grep "Connecting to") connected=$(echo $result | grep failed); if [ "$connected" != "" ]; then echo -e "$(date) - $myHost est down" >> check.log for myEMAIL in $EMAIL do echo -e "$(date) - $myHost est down! \n Ceci est un message automatique." | mail -s "$SUBJECT" $myEMAIL done fi done
Placez le script là où vous pouvez l’exécuter, puis rendez-le exécutable :
chmod +x check.sh
Puis ajoutez la tâche cron :
crontab -e
Et ajoutez à la fin (par exemple ici toutes les heures)
@hourly check.sh