Script Geeklet para hacer ping a los hosts

0

He encontrado la secuencia de comandos agradable a continuación para hacer ping a un host para comprobar si está arriba o abajo. Sin embargo, no he encontrado una forma (y mi conocimiento de programación muy básico me ha fallado aquí) sobre cómo puedo hacer ping a varios servidores. Idealmente iría HOST1 = XXX, HOST2 = YYY, etc. ...

¿Podría alguien apuntarme en la dirección correcta? Tengo unos 10 hosts y me gustaría ver el estado arriba / abajo para. El script Geektool se copió de macosxtips.co.uk

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
    
pregunta pknz 05.08.2014 - 01:12

2 respuestas

1

Desea leer bucles en scripts de bash .

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 probé eso, pero está lo suficientemente cerca. Reemplace la lista HOSTS con la lista de hosts sobre los que desea informar.

    
respondido por el Ian C. 05.08.2014 - 01:45
1

Para hacer ping a varios hosts con la imagen de retroalimentación roja / verde, necesitas ejecutar varias instancias del ping geeklet. Simplemente abra ping.glet varias veces, ingrese un nombre de host diferente cada vez y alinéelos en su pantalla para obtener el efecto que se ve en la captura de pantalla en el sitio que vinculó.

Puedes reescribir la secuencia de comandos para hacer ping a varios sitios, pero solo obtendrás una imagen de respuesta roja / verde.

    
respondido por el Alistair McMillan 05.08.2014 - 02:02

Lea otras preguntas en las etiquetas