Edit : Script Test ping (encore) - Divers - Programmation
Marsh Posté le 26-06-2007 à 16:44:06
tu dois pouvoir t'en sortir en testant la valeur de $? après le ping. 
 
Marsh Posté le 26-06-2007 à 16:54:49
un p'ti grep cut dans un fichier temporaire de la sortie de ping
ping ip -c 1 > toto.txt
if toto.txt
$tavariable = `grep cut +parametreskibontbien toto.txt`
if tavariable == test
tacommande
else
tonautrecommande
fi
fi
Marsh Posté le 26-06-2007 à 17:02:29
| memaster a écrit : un p'ti grep cut dans un fichier temporaire de la sortie de ping  | 
 
 ![[:vomi] [:vomi]](https://forum-images.hardware.fr/images/perso/vomi.gif) 
 
Marsh Posté le 26-06-2007 à 17:03:46
ct vite fait  
 
il y a surement d'autres moyens plus "elegants"
Marsh Posté le 26-06-2007 à 17:12:13
Les codes de retour c'est pas fait pour les chiens non plus.
C'est quoi l'utilité de sortir des grep/cut pour vérifier que la commande a échoué ou réussi alors qu'il y a un mécanisme conçu pour cela?
Marsh Posté le 26-06-2007 à 17:13:31
j'ai un truc un peu crade en python aussi : 
| Code : 
 | 
Marsh Posté le 26-06-2007 à 17:14:38
hého ![[:cerveau o] [:cerveau o]](https://forum-images.hardware.fr/images/perso/cerveau o.gif)
Marsh Posté le 26-06-2007 à 17:17:26
a mon avis il vaudrait mieux coder la chose en ruby. 
Marsh Posté le 26-06-2007 à 17:50:41
fping / smokeping / snmp
Marsh Posté le 26-06-2007 à 18:04:14
moi j'laime bien ton truc memaster62  
 
 
#!/bin/bash 
 
ip="192.168.0.1" 
loss="50" 
ipcount="10" 
 
if [ `ping -c $ipcount $ip | grep loss | sed s/%.*//g | sed s/.*,\ //g` -gt $loss ] 
then 
    echo "Error" 
else 
    echo "Ok" 
fi 
Marsh Posté le 26-06-2007 à 18:09:32
| nayfe a écrit : moi j'laime bien ton truc memaster62  | 
 
belle [expression reguliere]  
 
Marsh Posté le 26-06-2007 à 18:15:45
| nayfe a écrit : moi j'laime bien ton truc memaster62  | 
| #!/bin/sh | 
est beaucoup plus propre, et on ne peut plus simple
Marsh Posté le 26-06-2007 à 18:39:34
Merci a tous pour votre aide en tout cas. 
et j'ai bien ce script   
  
| l0ky a écrit : 
   | 
 
 
Il me reste plus qu'a greffer autour  
 
En tout cas ça l'air de bien marcher mais j'ai une question si la machine mets un peu de temps a repondre au ping ca pose un probleme ? 
 
  
  
Marsh Posté le 26-06-2007 à 18:42:52
ça dépend si tu atteinds le timeout du ping  
 
 
sinon en mettant -c 2 par exemple, même si le premier essai atteind le timeout et que le deuxième ne l'atteind pas, ça renvoit quoi comme code de retour?
Marsh Posté le 26-06-2007 à 18:43:03
par défaut il y a un timeout de quelques secondes, ca suffit largement. Tu peux le fixer avec l'option W
Marsh Posté le 30-06-2007 à 17:58:35
Parce que ca répond pas du tout à la question ?
Marsh Posté le 30-06-2007 à 18:21:29
c'est quoi la commande pour un ping brodcast ?
Edit : question conne que je retire 
Marsh Posté le 30-06-2007 à 19:31:27
| l0ky a écrit : Parce que ca répond pas du tout à la question ? | 
 
 
bah il veut ping des adresses ip et passer a la suivante si ca repond ou pas , un ping broadcast donnera les memes resultat , apres selon la reponse ou pas il execute une commande 
Marsh Posté le 01-07-2007 à 10:36:48
1. Certains équipements sont configurés pour ne pas répondre au ping broadcast alors qu'ils répondent parfaitement au ping unicast.
2. Si il existe un routeur entre toi et tes équipements sous test, ton ping broadcast marchera autant qu'un pingouin dans le sahara en plein été.
Marsh Posté le 01-07-2007 à 15:47:57
En fait j'aimerai aovir la syntaxe correct pour bash car je suis encore debutant :s 
 
j'avais penser a faire un truc comme ca sans connaitre la quel syntaxe je dois ecrire : 
|   | 
 
Marsh Posté le 01-07-2007 à 16:07:47
bon je vais transférer dans programmation là ![[:cerveau o] [:cerveau o]](https://forum-images.hardware.fr/images/perso/cerveau o.gif)
Marsh Posté le 01-07-2007 à 17:30:55
#!/bin/bash 
 
ips="192.168.0.1 192.168.0.101 192.168.0.102" 
 
for i in $ips 
do 
        if ping -c 1 $i > /dev/null ; then 
                echo "$i : Success" 
        else 
                echo "$i : Failed" 
        fi 
done 
Marsh Posté le 26-06-2007 à 16:41:13
Bonjour 
   
  
Je tourne sous Debian et j'aimerai
faire un petit script qui ping certaine IP particuliere sur le reseau local et selon la reponse du ping j'execute un script ou une commande si le ping est positif ou je ping l'IP suivante si le ping serai négatif.
Si quelqu'un pourrait m'aider...
Merci
Edit : Mon script avec les if marche parfaitement mais c'est pas evolutif du tout.
J'aimerai faire un
for i de [IP de depart] a [IP de fin]
Enfin je sais pas si c'est possible
Message édité par Ming75 le 29-06-2007 à 16:42:45