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 à