Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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