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

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
safronowmax
Сообщения: 103

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

Сообщение safronowmax »

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

Но данный способ не учитывает % потерь, условие срабатывает, даже если теряется 1 пакет
Спасибо сказали:
Аватара пользователя
ieleja
Сообщения: 307
ОС: Debian 9, macOS, Windows
Контактная информация:

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

Сообщение ieleja »

Код: Выделить всё

#!/bin/bash

t="$(ping -c 5 -q www.google.com | grep -oP '\d+(?= received)')"

if [ "$t" == 1 ]; then
echo "1"
fi

if [ "$t" == 2 ]; then
echo "2"
fi

if [ "$t" == 3 ]; then
echo "3"
fi

if [ "$t" == 4 ]; then
echo "4"
fi

if [ "$t" == 5 ]; then
echo "5"
fi
ad infinitum
Спасибо сказали:
Аватара пользователя
nerve
Сообщения: 280
ОС: OpenBSD

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

Сообщение nerve »

Shell

CMD=$(ping -c4 google.com | grep -c Unreachable)
case $CMD in
1|2) echo "Fail count is low"
;;
3|4) echo "Fail count is high"
;;
ecas
Спасибо сказали:
Ответить