Mar
4
2009
4
2009
[Script] Ping automatique sur plusieurs HOST
An article by Olivier Legras
1 Commentaire
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";
}
}
Publicité :)
Articles récents
- Memento VI – Boostez Votre Productivité avec Vi : Trucs et Astuces à Connaître
- Configuration de Nginx pour Obtenir l’IP Réelle des Visiteurs avec CloudFlare
- Récupérer les informations d’un Ordinateur Terra à partir du numéros de série avec Python
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc…
- Failed to Start File System Check – Vcenter 7
Mot-clefs
apache
arrière plan
bind
cacti
centos
Centreon
certificat
cisco
commande
DNS
erreur
error
esx
interface
Internet
ip
Linux
messagerie
mise à jour
Nagios
network
ntlm
openldap
Perl
php
plugin
postfix
Powershell
proxy
redirection
reinitialiser
reverse
root
Réseau
script
services
shell
ssh
supervision
Sécurité
ubuntu
Vcenter
Vmware
Web
windows
Commentaires récents
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Rotation des logs avec logrotate dans
- Hôte déconnecté sur le Vcenter. Impossible de se connecter à l’ESX. dans
- Pourquoi mon interface vlan ne veut pas devenir up ? dans
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++;
}