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
Plain text icon check_url.sh_.txt460 octets
Etiquettes: 

Ajouter un commentaire

Filtered HTML

  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage.
CAPTCHA visuel
Entrez les caractères (sans espace) affichés dans l'image.