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

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ć.


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.


Dzięki, właśnie to rozgryzłem. Doceń opinię :)
pknz
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.