Pages : 1
#1 Le 31/08/2007, à 15:52
- Bob755
Aide pour ecrire un script ping
Bonjour,
J'ai besoin d'aide pour ecrire un script qui boucle de la façon suivante:
1. Ping ( une fois par minunte) une liste de machines distantes.
2. Si aucune machine distante répond au bout de 5 cycles (5mins) , arret système (shutdown).
3. Si au moins une machine répond, retour à 1.
Merci d'avance
Hors ligne
#2 Le 31/08/2007, à 16:13
- xelator
Re : Aide pour ecrire un script ping
une liste comment ? défini par avance ou qui change ?
ou tout un réseau ? 192.168.0.X ?
on peut prendre nmap ?
Hors ligne
#3 Le 31/08/2007, à 16:44
- xelator
Re : Aide pour ecrire un script ping
#!/bin/bash
i=0
while [ 1 ]; do
if (test $i -eq 5)
then
echo "5x pas de reponse"
echo "arrêt de la machine en dé-commentant poweroff"
#poweroff
break
else
test=`nmap -sP 192.168.0.0/24 | grep appears`
if (test -z $test )
then
echo "pas de réponse"
let $[ i=$i+1 ]
echo $i
else
echo "machine up"
i=0
fi
fi
sleep 60
done
voila ça marche chez moi (faut installer nmap (sudo apt-get nmap)
la ça scan toute les machines du réseau 192.168.0.0
tu peux tester (le poweroff est commenté donc la machine ne s'éteint pas )
il faut le lancer en root.
il affiche une erreur mais ça marche quand même.
teste le (pour tester remplace 192.168.0.0/24 par une machine précise comme cela tu branche et débranche le câble réseau quand tu veux et met le sleep sur 1 pour attendre moins longtemps)
Hors ligne
#4 Le 01/09/2007, à 11:44
- Bob755
Re : Aide pour ecrire un script ping
Merci bcp. Je ne connaissais pas nmap. Ca me donne déjà un bon départ. Le mieux serait de mettre la liste d'IPs dans un fichier conf.
Hors ligne
#5 Le 01/09/2007, à 11:57
- xelator
Re : Aide pour ecrire un script ping
avec la commande "man nmap" j'ai trouvé :
-iL <inputfilename>: Input from list of hosts/networks
donc dans le script ça donne ça :
tu remplaces :
test=`nmap -sP 192.168.0.0/24 | grep appears`
par
test=`nmap -sP -iL list_nmap | grep appears`
en respectant l'alignement.
il faut faire un fichier dans le même répertoire que ton script nommé "list_nmap"
et qui contient les adresses , par exemple :
192.168.0.112
192.168.1.1
voila
Hors ligne