Vérifier régulièrement le contenu d'une page web et recevoir un avertissement par mail
Voici un script qui se charge de vérifier les différences qu'il peut y avoir sur une page web entre 2 périodes de temps définies.
$ nl check_url.sh
1 #!/bin/bash
2 export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
3 URL="http://quennec.fr"
4 PREC="/root/precedent"
5 SUIV="/root/suivant"
6 exec 1>/dev/null 2>&1
7 if [ -e $SUIV ]; then
8 rm $SUIV
9 fi
10 curl $URL > $SUIV
11 if [ -e $PREC ]; then
12 diff $SUIV $PREC
13 if [ $? == 1 ]; then
14 mail -s "Ecart sur la page $URL" ronan@quennec.fr<<EOF
15 EOF
16 fi
17 fi
18 if [ -e $PREC ]; then
19 rm $PREC
20 fi
21 mv $SUIV $PREC
22 exit 0
$
Lignes 2 à 5 : initialisation des variables utilisées dans le script.
Ligne 6 : Redirection des entrées et sorties standards.
Ligne 7 à 9 : Suppression du fichier $SUIV si celui-ci existe.
Ligne 10 : Téléchargement du contenu de la page web et enregistrement dans le fichier $SUIV
Ligne 11 à 17 : Si le fichier $PREC existe, le programme diff compare les 2 fichiers $SUIV et $PREC. Si il y a des différences ($? == 1), un mail est envoyé à l'adresse indiquée.
Ligne 18 à 20 : Si le fichier $PREC existe, il est supprimé.
Ligne 21 : Le fichier $SUIV est renommé en $PREC.
Rendre le script exécutable :
$ chmod +x check_url.sh
Reste à exécuter le script
$ ./check_url.sh
Pour l'automatisation, une ligne sera ajoutée à crontab :
$ crontab -e
*/5 * * * * /root/check_url.sh
Le script sera exécuté toutes les 5 minutes.
Fichier attaché | Taille |
---|---|
check_url.sh_.txt | 460 octets |
Ajouter un commentaire