0 votos

Geeklet script para hacer ping a los hosts

He encontrado el bonito script de abajo para hacer ping a un host y comprobar si está levantado o caído. Sin embargo no he encontrado la manera (y mis conocimientos básicos de programación me han fallado aquí) de cómo puedo hacer ping a múltiples servidores. Lo ideal sería hacer HOST1= XXX, HOST2=YYY etc...

¿Podría alguien indicarme la dirección correcta? Tengo unos 10 hosts de los que me gustaría ver el estado de subida/bajada. Geektool scriptcopiado de macosxtips.es

HOST=typehostnamehere
PING=`ping -q -c 1 $HOST`
if [[ $? -eq 0 ]] ; then
    TIME=`echo $PING |tail -1 | cut -d/ -f 5`
    echo ${TIME}ms away from $HOST
    exit 0
else
    echo $HOST could not be reached
    exit 2
fi

1voto

shsteimer Puntos 8749

Quieres leer sobre bucles en bash scripts .

Por ejemplo:

HOSTS="hosta
hostb
hostc"

for machine in $HOSTS
do
  PING=`ping -q -c 1 $machine`
  if [[ $? -eq 0 ]] ; then
    TIME=`echo $PING |tail -1 | cut -d/ -f 5`
    echo ${TIME}ms away from $machine
  else
    echo $machine could not be reached
  fi
done

No lo he probado, pero se acerca bastante. Reemplaza la lista de HOSTS con la lista de hosts que quieres reportar.

1voto

rpetrich Puntos 25769

Para hacer ping a múltiples hosts con la imagen de retroalimentación roja/verde necesitas ejecutar múltiples instancias del ping geeklet. Sólo tienes que abrir ping.glet varias veces, introducir un nombre de host diferente cada vez y alinearlos en tu pantalla para obtener el efecto que se ve en la captura de pantalla en el sitio que enlazaste.

Puedes reescribir el script para hacer ping a varios sitios, pero sólo obtendrás una imagen de respuesta roja/verde.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X