Echanger le courrier durant la connexion
Bien, vous avez enfin une liaison dial-up à la demande qui
fonctionne. Il est dommage d'avoir le traitement du courrier
électronique réalisé uniquement lors de
l'établissement de la liaison. Il serait souhaitable de mettre
à profit le temps passé à surfer pour
contrôler si il n'y a pas quelque chose à faire de ce
coté là, automatiquement bien sûr...
La mise en oeuvre est très simple: il suffit de régler
ses crontabs de manière à lancer périodiquement un
script qui détecte si la connexion est active et lance le script
diald_up si c'est le cas. Comme diald_up lance fetchmail
qui lui-même lance sendmail pour traiter la queue: le tour est
joué !!!
1 Le script if_is_up
Ce script recoit un seul argument: le nom de l'interface. Si l'interface
est trouvée dans la table des interfaces il renvoie un code de
sortie à 0 et à 1 dans le cas contraire. Comme l'interface
ppp0 est mise et enlevée en fonction du besoin (driver en module
) cela fonctionne très bien. Le script en lui-même est
réduit au plus simple (si quelqu'un a plus court je veux bien voir
;) ). Je l'ai installé dans le répertoire
/usr/local/bin:
#!/bin/sh
#
#
[ $# -ne 1 ] && { echo "usage: if_is_up interface" >&2; exit 1 }
/bin/netstat -i|/bin/grep -q "^$1"
exit $?
2 Le réglage de la crontab
J'ai opté pour un cycle de dix minutes quelque que soient l'heure et
le jour de l'année, ce qui est amplement suffisant pour mes besoins
et est en corrélation avec mes talents d'écrivain :). Libre
à vous de choisir une autre configuration. La crontab à
modifier est celle de "root", utilisez pour cela la
commande crontab -e en étant connecté sous
"root". Pour l'exemple, voici le contenu de la mienne,
obtenu avec crontab -l:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.16536 installed on Sun Aug 9 17:18:11 1998)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
0-50/10 * * * * /usr/local/bin/if_is_up ppp0 && /usr/local/bin/diald_up
Retour au document
Cyril Guibourg
Last modified: Sat Nov 13 13:34:24 MET 1999