Как насчет чего-то вроде
ping -c 1 -t 10 > /dev/null || date
в бесконечном цикле, который работает всю ночь?
Есть ли способ заставить реализацию Linux «ping» вести себя как реализация Windows так, как она показывает, когда происходит тайм-аут. Я не хочу, чтобы он выходил, просто покажи сообщение о тайм-ауте.
У нас есть некоторые проблемы с сетью в компании, и я хотел бы оставить «ping», чтобы работать на ночь, а затем перейти к нему, чтобы узнать, когда и когда произошли какие-либо таймауты.
Как насчет чего-то вроде
ping -c 1 -t 10 > /dev/null || date
в бесконечном цикле, который работает всю ночь?
Если вы просто хотите увидеть время истечения времени ожидания, используйте этот код
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 ~]$