Вычисления для финансов/физики, такие как составные средние числа.
Использовать возвращаемое значение ping
:
for C in computers; do
ping -q -c 1 $C && ssh $C 'check something'
done
ping
завершится со значением 0, если этот единственный ping ( -c 1
) удается. По истечении времени ожидания проверки связи или если $ C
не может быть разрешен, он выйдет с ненулевым значением.
Используйте переключатель -w
(или -t
во FreeBSD и OS X) в команде ping
, затем проверьте возвращаемое значение команды.
ping -w 1 $c
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
ssh $c 'check something'
fi
Вы можете настроить параметр, который вы передаете с помощью -w
, если хосты, к которым вы подключаетесь, находятся далеко и задержка выше.
From man ping
:
-w deadline
Specify a timeout, in seconds, before ping exits regardless of
how many packets have been sent or received. In this case ping
does not stop after count packet are sent, it waits either for
deadline expire or until count probes are answered or for some
error notification from network.
Я написал этот сценарий около 10 лет назад:
http://www.win.tue.nl/~rp/bin/rshall
Вероятно, вам не понадобится часть, где он определяет каждый доступный хост и перебирает каждый из них.