как использовать ping в сценарии

Вычисления для финансов/физики, такие как составные средние числа.

10
задан Guy 13 November 2009 в 08:32
поделиться

3 ответа

Использовать возвращаемое значение ping :

for C in computers; do
  ping -q -c 1 $C && ssh $C 'check something'
done

ping завершится со значением 0, если этот единственный ping ( -c 1 ) удается. По истечении времени ожидания проверки связи или если $ C не может быть разрешен, он выйдет с ненулевым значением.

16
ответ дан 3 December 2019 в 15:52
поделиться

Используйте переключатель -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.
8
ответ дан 3 December 2019 в 15:52
поделиться

Я написал этот сценарий около 10 лет назад:

http://www.win.tue.nl/~rp/bin/rshall

Вероятно, вам не понадобится часть, где он определяет каждый доступный хост и перебирает каждый из них.

0
ответ дан 3 December 2019 в 15:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: