Mar
4
2009

[Script] Ping automatique sur plusieurs HOST


Voici un script permettant de faire des pings sur plusieurs hosts et d’afficher le résultat de cette maniere :

192.168.0.1 OK

192.168.15.1 NOK

192.168.18.15 OK

 

Voici le code en shell et en perl :

En shell :

CMD=’192.168.0.1 192.168.15.2 192.168.18.5’

for i in $CMD
do
ping -c 1 -w 2 $i 1>2
if [ "$?" = 0 ];then
  echo "OK : $i"
  else
  echo "NOK : $i"
  fi
done

En perl :

#!/usr/bin/perl

@ip = (“192.168.26.1”,”192.168.0.5”,”192.168.15.18”);

$taille1 = scalar @ip;
for $i (0..$taille1-1) {
$res=system("ping -c 1 -w 2 $ip[$i]>/dev/null");
if ($res==0){
  print "OK : $ip[$i]n";
}
else{
print "NOK : $ip[$i]n";
}
}

Au sujet de l'auteur: Olivier Legras

Auteur de ce Blog, je partage quelques unes de mes notes que je juge utile à vous comme à moi. Je suis très heureux de voir que mon blog a de plus en plus d'affluence. Merci à vous!

1 Comment + Add Comment

  • L’utilisation du module Net::Ping (ci-dessous) est orientée objet mais peut être moins simple à utiliser si un proxy est utilisé :

    #!/usr/bin/perl

    use Net::Ping;

    @ip = (“192.168.26.1”,”192.168.0.5”,”192.168.15.18”);
    @ip_desc = (“serveur_1″,”serveur_2″,”serveur_3”);

    $i=0;
    foreach $ip (@ip) {
    if ($p->ping($ip)) {
    print “@ip_desc[$i] : actif”; }
    else { print “@ip_desc[$i] : inactif”; }
    $i++;
    }

Laissez un commentaire