Ping останавливается, когда существует большая потеря пакетов

мое первое сообщение здесь.

Я сделал сценарий, которые предоставляют сообщения о моей сети каждые 5 минут. Сценарий прост и хорошо работает кроме тех случаев, когда существуют проблемы в моей сети. Сценарий работает в Сервере Ubuntu 18.04.

Моя строка для команды Ping:

ping -w 300 192.168.1.216

Проблема состоит, когда у меня есть потери пакетов, остановка ping сразу, не заканчивает эти 300 секунд (5 минут) выполненный. Я проверил онлайн и везде но я не смог найти решение заставить ping продолжать бежать, когда существуют потерянные пакеты. Это - пример:

ping -w 300 192.168.1.216
PING 192.168.1.216 (192.168.1.216) 56(84) bytes of data.
64 bytes from 192.168.1.216: icmp_seq=1 ttl=128 time=2.29 ms
64 bytes from 192.168.1.216: icmp_seq=2 ttl=128 time=4.14 ms
64 bytes from 192.168.1.216: icmp_seq=3 ttl=128 time=17.9 ms
64 bytes from 192.168.1.216: icmp_seq=4 ttl=128 time=40.6 ms
64 bytes from 192.168.1.216: icmp_seq=5 ttl=128 time=38.6 ms
From 192.168.1.2 icmp_seq=30 Destination Host Unreachable
From 192.168.1.2 icmp_seq=31 Destination Host Unreachable
From 192.168.1.2 icmp_seq=32 Destination Host Unreachable

--- 192.168.1.216 ping statistics ---
33 packets transmitted, 5 received, +3 errors, 84% packet loss, time 32657ms
rtt min/avg/max/mdev = 2.295/20.738/40.659/16.379 ms, pipe 4

Спасибо.


ПРИЧИНА РЕДАКТИРОВАНИЯ: Добавьте полный код сценария.

Полный код сценария:

Location="XXX"
host="192.168.6.1"

while true
do
    result=$(ping -w 300 -q $host)

    sendemail                                               \
            -f "xxxx@gmail.com"                             \
            -u "XXX 5 Minutes Network Report"               \
            -t "pingreport@gmail.com"                       \
            -s "smtp.gmail.com:587"                         \
            -o tls=yes                                      \
            -xu "xxxx@gmail.com"                            \
            -xp "password"                                  \
            -m "$result"
done

Это должно проверить состояние нашей VPN. Как я сказал, очень простой сценарий. Я использую-c 1 ping, как предложено для чрезвычайного, который сообщит нам, существуют ли проблемы возможности соединения в VPN как можно скорее.

1
задан 5 December 2018 в 19:04

1 ответ

Я полагал бы, что изменение Вашего сценария работает ping -c 1 <ip-address> каждые пять минут, вместо того, чтобы полагаться ping двоичный файл для обеспечения того поведения. Затем можно также проверить статус возврата ($?) определить, успешно выполнилось ли это или перестало работать.

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

1
ответ дан 7 December 2019 в 15:10

Другие вопросы по тегам:

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