[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Relecture Meta manuel Debian




On Wed, 25 Oct 2000, Mickael Simon wrote:

> Mon autre question concernerait le suivi des traductions : de quelle
> manière peut-on savoir que le document original a été modifié si ce
> n'est en consultant régulièrement le site Debian ?


Voici un ptit script pour surveiller des pages web. Attention, c'est un
hack rapide. Mais ca marche chez moi (TM).
-------------début
#! /bin/bash
# Un script qui surveille des pages http, et fait des mails quand elles 
# changent. A mettre dans une cron table.
# il faut donc mettre dans l'utilitaire 'crontab' une ligne comme ca :
# * 0 * * * /home/mquinson/SCRIPTS/watch.sh
#  (sans la diese devant; et avec le chemin qui correspond à votre
programe;)
#
# Licence Demerdenzizicht (http://tnemeth.free.fr/fmbl/linuxsf/4.1.html)
# Pour plus d'info, (mais pas de service apres 
écriture) <mquinson@ens-lyon.fr>

# Ce qu'il faut changer pour configurer
conffile="$0"
mail_to="mettre votre email ici"
mail_subject="HTTP WATCHER ALERTE: Une page a changée"
mail_txt=`(echo "Je suis ton script de surveillance de pages web.";
echo "J'ai trouvé des changements dans les pages que tu m'as dit de";
echo "surveiller. Ils sont listés ci après.";
echo "(note, si tu comprend rien à ce que je raconte, et que tu te
souviens";
echo "que le code est la documentation, le fichier de conf et le fichier
de";
echo "données, va vite me lire dans le fichier ")``pwd`"/"`basename
$0`" !!)"

# The real code
for line in `cat $conffile|sed -e 's/ /_/g'|grep "^#DATA"|sed -e
's/#DATA.//'` ; do
    url=`echo $line | awk -F '§' '{ print $1 }'`
    txt=`echo $line | awk -F '§' '{ print $2 }'`
    md5=`echo $line | awk -F '§' '{ print $3 }'`
    new_md5=`wget -q -O - $url|md5sum`

    if [ "x$md5" != "x$new_md5" ] ; then
       mail=`(echo "$mail" ; echo "<a href=\"$url\">")``echo $txt|sed -e
's/_/ /g'`"</a>"
       cat $conffile | sed -e
"s§^#DATA\(.\)$url.*§#DATA\1$url\§$txt\§$new_md5§" >$conffile.new
       mv $conffile.new $conffile
       chmod 744 $conffile
    fi
done;
if [ "x$mail" != "x" ] ; then
    (echo "$mail_txt";echo "$mail")|mail -s "$mail_subject" $mail_to
fi
exit 0

#DATA http://tnemeth.free.fr/fmbl/linuxsf/index.html§A voir§
--------fin du script
Pour rajouter des cibles de surveillance, la grammaire est (sur une seule
ligne par cible), et il faut les mettre à la fin du script :
- la chaine "#DATA "
- l'url de la cible
- le séparateur "§"
- le texte associé
- le séparateur "§"

Et le script s'auto-modifie pour mettre les MD5 des pages surveillées...

Ca fait parfois des fausses alertes, mais dans l'ensemble, ca marche assez
bien.

Je laisse en exercice au lecteur de chercher quelles sont les lignes que
mon maileur a wrappé à tord...

Mt.



Reply to: