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

Re: script adsl reconnexion



Le Mon, May 07, 2001 at 10:45:33AM +0200, Charles Goyard écrivait:
> parce que c'est configuré pour fonctionner avec le ppp normal (pon
> dsl-provider, ou pon tout court si dsl-provider est par défaut). Il
> suffit de supprimer le /etc/ppp/no_ppp_on_boot (iirc) et ça roule.
> Avec option persist tant qu'on y est.

Sauf que ni l'un ni l'autre n'est viable si tu veux garder ta connection
éternellement. Persist c'est bien mais cela arrête après maxfail (10 par
défaut) essais infructueux (et ca arrive quand le serveur TACACS est dans
les choux pour quelques dizaines de minutes).

Et le script dans le cron, c'est pas une bonne idée non plus parce que
pppd ne se lance pas sans terminal ... j'ai déjà fait l'essai.

Du coup, je lance un petit démon au boot (que j'ai lancé depuis
/etc/ppp/ppp_on_boot) qui est un script shell qui vérifie que la
connection est présente et qui sinon la relance :
#!/bin/sh

DELAY=$[ 30 * 60 ]
IFACE=ppp0
N="adsl-check"

if [ -e "/var/run/$N.pid" ]
then
    if [ -d "/proc/`cat /var/run/$N.pid`" ]
    then
        echo "adsl-check already running (pid `cat /var/run/$N.pid`)" >&2
        exit 0
    fi
fi
echo $$ >/var/run/$N.pid
trap "rm -rf /var/run/$N.pid; exit 0" SIGQUIT SIGTERM SIGUSR1 SIGINT

while true; do

    sleep $DELAY

    /sbin/ifconfig |grep -q $IFACE
    if [ $? -eq 0 ]
    then
            continue
    fi

    # On attend 2 minutes au cas où ...
    sleep 120
    /sbin/ifconfig |grep -q $IFACE
    if [ $? -eq 0 ]
    then
            continue
    fi

    logger -i -t $0 No ADSL ppp connection. Launching it again.
    poff dsl-provider
    sleep 10
    killall pppoe
    sleep 2
    pon dsl-provider

done

HTH,
-- 
Raphaël Hertzog -+- http://strasbourg.linuxfr.org/~raphael/
Le bouche à oreille du Net : http://www.beetell.com
Naviguez sans se fatiguer à chercher : http://www.deenoo.com
Formation Linux et logiciel libre : http://www.logidee.com



Reply to: