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
Placer le script la ou vous pouvez l’exécuter, puis rendez le exécutable:
chmod +x check.sh
Puis ajouter la tache cron
crontab -e
Et ajouter à la fin (par exemple ici toute les heures)
@hourly check.sh