Linux 'ping' - Показать, когда происходит тайм-аут?

2720
Dario

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

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

2

2 ответа на вопрос

1
Tadeusz A. Kadłubowski

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

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

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

0
Sabrina

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

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 ~]$  

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