TIP Reconnexion automatique de connexion ADSL

Un article de Gentoo Linux Wiki.

Cet article fait partie des Trucs et Astuces.

Terminaux / Shells CD Live X Portage Système Systèmes de fichier Autres


Voici un petit script qui teste si ma connexion est vraiment active et qui la relance si il y a un problème. Note : l'option persist n'est pas toujours miraculeuse, et apparemment il arrive qu'elle ne marche pas comme il faut.

Fichier : /etc/init.d/adslautoconnect
#!/sbin/runscript

opts="start stop check restart"

start() {
  ebegin "Starting adslautoconnect"
  eend
}

stop() {
  ebegin "Stopping adslautoconnect"
  eend
}

check() {
  if echo `/etc/init.d/adslautoconnect status` | grep "started";
  then
    einfo "le service de reconnexion est lancé, on regarde si la connexion est bien active"
    if ! ping -c 1 ${PING};
    then
      einfo "la connexion n'est pas active, on la relance"
      ${RESTART} restart;
      # Si la connexion est devenu active, on lance la commande
      if ping -c 1 ${PING};
      then
        ${COMMAND};
      fi;
    fi;
  else
    einfo "service arreté";
  fi;

}


Fichier : /etc/conf.d/adslautoconnect
# Config file for the adslautoconnect service

# server to ping
PING="free.fr"

# command to execute when connected
COMMAND="esdplay --server=flux:2345 /usr/local/share/sounds/adslautoconnect/gdpcnend.wav"

# script de démarrage d'adsl
RESTART="/etc/init.d/eagle-adsl"


  • /etc/init.d/adslautoconnect start pour démarrer le service de reconnexion automatique ;
  • /etc/init.d/adslautoconnect stop pour l'arrêter ;
  • /etc/init.d/adslauconnect check pour relancer la connexion si le service de connexion automatique est démarré.

Ensuite, il faut dire au service cron d'effectuer le test à intervalles de temps régulier.

Code : Exemple de ligne pour le service cron
* * * * *       root    /etc/init.d/adslautoconnect check

Elle dit de faire la vérification toute les minutes.



MAJ : 07/03/2004
Source : http://forums.gentoo.org/viewtopic.php?t=146053
Auteur initial : bestel (email pour les questions : the.bestel at free.fr)