Здравствуйте, подскажите пж-та, не могу никак сообразить: необходимо с помощью 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 пакет
проверка доступности ресурса с учетом % потерь
Модератор: Bizdelnick
-
ieleja
- Сообщения: 307
- ОС: Debian 9, macOS, Windows
Re: проверка доступности ресурса с учетом % потерь
Код: Выделить всё
#!/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"
fiad infinitum
-
nerve
- Сообщения: 280
- ОС: OpenBSD
Re: проверка доступности ресурса с учетом % потерь
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