Skrypt Geeklet do pingowania hostów

0

Znalazłem poniżej fajny skrypt do pingowania hosta, aby sprawdzić, czy jest w górę, czy w dół. Jednak nie znalazłem sposobu (a moja bardzo podstawowa wiedza programistyczna zawiodła mnie tutaj), w jaki sposób mogę pingować wiele serwerów. Idealnie wybrałbym HOST1 = XXX, HOST2 = YYY itp ...

Czy ktoś może skierować mnie w dobrym kierunku? Mam około 10 hostów, dla których chciałbym zobaczyć status góra / dół. Skrypt Geektool skopiowany z 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
pknz
źródło

Odpowiedzi:

1

Chcesz czytać na temat pętli w skryptach bash .

Na przykład:

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

Nie testowałem tego, ale jest wystarczająco blisko. Zamień listę HOSTS na listę hostów, których chcesz zgłosić.

Ian C.
źródło
1

Aby pingować wiele hostów za pomocą czerwonego / zielonego obrazu opinii, musisz uruchomić wiele instancji geekletu ping. Po prostu otwórz ping.glet wiele razy, za każdym razem wprowadź inną nazwę hosta i ustaw je w linii na ekranie, aby uzyskać efekt widoczny na zrzucie ekranu w połączonej witrynie.

Możesz przepisać skrypt, aby wysłać ping do wielu witryn, ale otrzymasz tylko jeden czerwony / zielony obraz opinii.

Alistair McMillan
źródło
Dzięki, właśnie to rozgryzłem. Doceń opinię :)
pknz