2

Есть ли способ заставить реализацию Linux «ping» вести себя как реализация Windows так, как она показывает, когда происходит тайм-аут. Я не хочу, чтобы он выходил, просто покажи сообщение о тайм-ауте.

У нас есть некоторые проблемы с сетью в компании, и я хотел бы оставить «ping», чтобы работать на ночь, а затем перейти к нему, чтобы узнать, когда и когда произошли какие-либо таймауты.

2 ответа2

1

Как насчет чего-то вроде

ping -c 1 -t 10  > /dev/null || date

в бесконечном цикле, который работает всю ночь?

0

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

while :; do ping -c 1 -t 1 192.168.0.254 > /dev/null && sleep 1 || echo "`date` >>> Request timed out"; done

пример

192.168.0.1 отвечает на команду ping, а 192.168.0.254 - нет

[user@Linux ~]$ while :; do ping -c 1 -t 1 192.168.0.1 > /dev/null && sleep 1 || echo "`date` >>> Request timed out"; done
^Z
[28]+  Stopped                 sleep 1
[user@Linux ~]$ 

[user@Linux ~]$ while :; do ping -c 1 -t 1 192.168.0.254 > /dev/null && sleep 1 || echo "`date` >>> Request timed out"; done
Wed Jan  3 03:51:23 GMT 2018 >>> Request timed out
Wed Jan  3 03:51:24 GMT 2018 >>> Request timed out
Wed Jan  3 03:51:25 GMT 2018 >>> Request timed out
^Z
[30]+  Stopped                 ping -c 1 -t 1 192.168.0.254 >/dev/null
[user@Linux ~]$ 

Если вы хотите выполнять непрерывный пинг, как окна и с отметкой времени, используйте этот. Не стесняйтесь заменить 192.168.0.1 своим IP-адресом

while :; do ping -c 1 -t 1 192.168.0.1 > /dev/null && echo "`date` >>> Reply OK" && sleep 1 || echo "`date` >>> Request timed out"; done

Пример ответа ОК

[user@Linux ~]$ while :; do ping -c 1 -t 1 192.168.0.1 > /dev/null && echo "`date` >>> Reply OK" && sleep 1 || echo "`date` >>> Request timed out"; done
Wed Jan  3 03:41:49 GMT 2018 >>> Reply OK
Wed Jan  3 03:41:50 GMT 2018 >>> Reply OK
Wed Jan  3 03:41:51 GMT 2018 >>> Reply OK
^Z
[23]+  Stopped                 sleep 1
[user@Linux ~]$

Пример запроса истек

[user@Linux ~]$ while :; do ping -c 1 -t 1 192.168.0.254 > /dev/null && echo "`date` >>> Reply OK" && sleep 1 || echo "`date` >>> Request timed out"; done
Wed Jan  3 03:41:36 GMT 2018 >>> Request timed out
Wed Jan  3 03:41:37 GMT 2018 >>> Request timed out
Wed Jan  3 03:41:38 GMT 2018 >>> Request timed out
^Z
[22]+  Stopped                 ping -c 1 -t 1 192.168.0.254 >/dev/null
[user@Linux ~]$ 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .