Juin 152011
 

quand on arrête un paquet de machine et qu’on les redémarre, on aime bien savoir quand elles sont UP.

le top, c’est quand on attend pas entre chaque ping de serveurs.

voici donc un script pour solaris, vous pouvez l’adapter pour votre Unix.


juste le temps de lancer tous les pings en tache de fond et d’afficher le résultat.

ah et aussi en résumé, il affichera le nombre de serveurs UP et ceux qui sont DOWN

Download : massping.sh

#!/bin/ksh
#
# vim:tabstop=3:syntax=sh:
#
# ---------
## Script  : mass_ping
## Version : 0.2
## Objet   : paralellise les ping et affiche un resume
##----------------------------------------------------------------------------
# 0.1 21-jun-09 - Cedrick Gaillard
# 0.2 24-jun-09 - affiche l'usage.
#               - ajout de la redirection de stderr pour compter les unknowns.
#-----------------------------------------------------------------------------

[ -z "$1" -o "$1" = "-h" ] && {
cat << EOF
   ping la liste de serveurs donnes en argument.
   les pings sont parallelises, peu d'attente pour le resultat.
   affiche un resume en fin de liste.

exemple:
   # time $0 \$(/tools/easy_conf/server_list.sh -site "siteA") |grep -v "is alive"
     ping: unknown host machine1.com.
     ping: unknown host machine2.com.
     no answer from 192.168.240.196
     no answer from machine4.com.
     ping: unknown host ?

     UP: 640   - DOWN: 2   - UNKNOWN: 3

     real    0m12.761s
     user    0m4.234s
     sys     0m6.354s

EOF

exit 0
}

Ping () {
        for i in $*
        do
                ping $i 2 2>&1 &
        done
}

x=0
y=0
z=0

Ping $* |while read ligne
do
        case $ligne
        in
                *alive*)                x=$(($x + 1)) ;;
                *answer*)       y=$(($y + 1)) ;;
                *)      z=$(($z + 1)) ;;
        esac

        echo $ligne
done

[ "$z" -ne "0" ] && u="  - UNKNOWN: $z"
echo
echo "UP: $x   - DOWN: $y $u"

temps pour pinguer environ 900 machines:

$ time ./mass_ping.sh $(<mo) |tail -1
UP: 574   - DOWN: 295
 
real    0m19.570s
user    0m6.080s
sys     0m9.992s
 Publié par à 12 h 39 min  Taggué avec :

 Laisser un commentaire

Vous pouvez utiliser ces tags et attributs HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(requis)

(requis)

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.