On 17 Sep 2002 11:37:40 +0200
Garcia Pascal <[EMAIL PROTECTED]> wrote:

je m'immisce dans la conversation :)

il y a plusieurs moyens de vérifier l'état d'une connexion, plus simples et rapides 
qu'un ping sur son FAI. en adsl, avec adsl-status par exemple, ou en allant chercher 
dans /var/run des fichiers comme ppp0.pid (pas forcément effacé en cas de déconnexion 
involontaire), ou encore ifconfig.

dans tous les cas, il est possible de trouver son adresse IP avec ifconfig. par 
exemple si l'interface est ppp0:

$ /sbin/ifconfig ppp0 | grep inet | awk '{ print $2}' | tr "adr:" " "

on peut ainsi récupérer son adresse IP en cas d'IP dynamique et s'en servir dans un 
script plus complet. si la connexion est "out", la commande précédente ne donne 
rien... cad, pas d'adresse IP.

exemple de script de reconnexion automatique:

#!/bin/sh
#contest

while true
        do
                IP_DYN=$(/sbin/ifconfig ppp0 | grep inet | awk '{ print $2}' | tr 
"adr:" " ")
                case $IP_DYN in
                        *.*.*.*)
                        :
                        ;;
                        *)
                        /etc/sysconfig/network-scripts/net_cnx_up
                        ;;
                esac
                sleep 120
        done
                        

un sleep 60 ou 120 est largement suffisant à mon avis.
on peut adapter à son interface, lancer le script en tâche de fond en incluant une 
ligne au script de connexion si on lance la connexion au démarrage, (aller voir dans 
/etc/rc.d/init.d) sous le case start)

 start)
    echo -n "starting adsl"
    /etc/sysconfig/network-scripts/net_cnx_up
    touch /var/lock/subsys/adsl
    echo -n adsl
    /<chemin>/contest & # <- ligne rajoutée après l'établissement de la connexion
    echo
    ;;

et tuer le script à la déconnexion en ajoutant une autre ligne sous le case stop) 

 stop)
    killall contest # <- ligne rajoutée avant l'arrêt de la connexion
    echo -n "stopping adsl"
    /etc/sysconfig/network-scripts/net_cnx_down
    echo -n adsl
    echo
    rm -f /var/lock/subsys/adsl
    ;;

pour restart), si le script se rappelle lui-même avec $0 stop et $0 start, inutile de 
rajouter quoi que ce soit.

bien sauvegarder les fichiers originaux avant toute modification!!! ;)

bye
jipe

Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à