Forum général.général 2791

Posté par  .
Étiquettes : aucune
0
3
août
2004
Bonjour, pour tester si ma connexion avec tvcable net est toujours active (et pour pouvoir leur fourrer une preuve de déconnexion), j'ai trouvé ce petit script que j'ai amélioré en utilisant un case.
Le seul problème est que, quand la connexion n'est pas établie, il ne travaille pas. Il attend un réponse du ping, et laisse le script en suspend. Je voudrais qu'il n travaille plus si il n'a pas eu de réponse du 212.88.224.5 et qu'il me donne la réponse: 0 bytes from pour pouvoir le logger.
La procédure marche bien quand il a une connexion.
Existe-t-il une option de ping qui permette de lui faire passer le test après un certain temps?


[code]#! /bin/sh

SERVER=212.88.224.5
TEMPFILE=/tmp/chkconnect.tmp
LOGFILE=/var/log/chkconnect.sh

if [ -e $TEMPFILE ] ; then

echo "Another instance of this script is already running. If you are
sure"

echo "that's not the case, please delete the file
/tmp/chkconnect.tmp"
exit

fi

touch $TEMPFILE
# ping -c 3 ip.of.your.gateway | grep -c "bytes from"
# `ping -qnvc 3 -i 1 -p 3 $SERVER` in

case `ping -c 3 $SERVER | grep -c "bytes from"` in

*0)

echo "Connection perdue!" | mail -s "Connection lost !" root

echo "`date` : Deconnecte." >> $LOGFILE

;;

*3)

echo "`date` : connexion etablie" >> $LOGFILE

;;

esac

# Deletes the temporary file
rm $TEMPFILE[/code]

Ce qui est écrit en tant que ">>" sont en fait le signe "plus grand que" mais qui ne passe pas ici...


Merci
Lou
  • # Essaie smokeping

    Posté par  . Évalué à 2.

    Pour tester ta connectivite, essaie plutot smokeping :

    http://people.ee.ethz.ch/~oetiker/webtools/smokeping/(...)
    C'est assez bien foutu et ca me permet de voir si mon routeur netgear est toujours la :

    http://jurun.org/cgi-bin/smokeping.cgi?target=Router(...)


    Si tu passes par ppp pour etablir ta connexion, au lieu de pinguer regarde le resultat de la commande ifconfig, si absence de ppp0 alors tu es deconnecté, etc...
    • [^] # Re: Essaie smokeping

      Posté par  . Évalué à 1.

      Non, en fait je dois faire un fichier script pour pouvoir faire cette manipulation automatiquement toutes les 5 minutes. G'ai de trop fréquentes interruptions de service de la part de min ISP, et ca me gonfle. Je voudrais donc avoir un historique des déconnexions qu'il m'a occasionné.
      Je vais regarder le Smoekeeping, merci

      Lou
  • # tu connais les pages de man ?

    Posté par  . Évalué à 2.

    parce que man ping te dis que ping -w délai fait ce que tu veux. moi j'utilisais
    if ping -q -w 3 -c 3 $SERVER >/dev/null; then
       echo "Connexion UP"
    else
       echo "Connexion DOWN"
    fi
    

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.