LINUX.ORG.RU

проверка доступности ресурса с учетом % потерь

 ,


1

3

Здравствуйте, подскажите пж-та, не могу никак сообразить: необходимо с помощью bash-скрипта проверять доступность ресурса http://www.google.com с помощью утилиты ping (отправляется 4 пакета) и в случае если процент потерь составляет 75% и больше (потерялось 3 пакета из 4 или 4 из 4), необходимо выполнить действие 1. Если процент потерь менее 75%, то выполнять действие 2. Не могу понять, как это реализовать. Пока сделал так: ping http://www.google.com -c 4 -q -w 30 &>/dev/null rezult=$? if [ $rezult != 0 ]; then echo «действие 1» else echo «действие 2»

Но данный способ не учитывает % потерь, условие срабатывает, даже если теряется 1 пакет

не могу никак сообразить

Ну так вы вначале определитесь. Если вам % брать из самой утилиты ping, то надо распознавать вывод команды ping и код возврата нужен разве что для опеределения 0% потерь. Либо вам % вычислять самому, скажем вызывать раз в минуту на протяжении 5 минут, тогда запускаете ping с одним проверочным пакетом и по коду возврата считаете проценты.

vodz ★★★★★
()

Отправлять по одному пакету и считать в счётчик?

IPR ★★★★★
()
$ p75() {
    p=$(2>/dev/null LANG=C ping -c4 $1 | sed -n '1,/^---/d;s/%.*//;s/.*, //g;p;q')
    p=${p:=146}
    test $p -ge 75 && echo action1
    test $p -ge 75 || echo action2
}
$ p75 google.com
action2
$ p75 googlec.om
action1
Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.