Wie wäre es mit so etwas
ping -c 1 -t 10 > /dev/null || date
in einer Endlosschleife, die die ganze Nacht läuft?
Gibt es eine Möglichkeit, die Linux-Implementierung von 'ping' so zu gestalten, dass sie sich wie die Windows-Implementierung so verhält, wie sie angezeigt wird, wenn ein Timeout auftritt. Ich möchte nicht, dass es beendet wird, sondern nur eine Timeout-Nachricht.
Wir haben einige Netzwerkprobleme im Unternehmen und ich würde gerne "Ping" über Nacht arbeiten lassen und dann durchgehen, um zu sehen, ob und wann Timeouts aufgetreten sind.
Wie wäre es mit so etwas
ping -c 1 -t 10 > /dev/null || date
in einer Endlosschleife, die die ganze Nacht läuft?
Wenn Sie nur die Uhrzeit sehen möchten, zu der das Timeout auftritt, verwenden Sie diesen Code
while :; do ping -c 1 -t 1 192.168.0.254 > /dev/null && sleep 1 || echo "`date` >>> Request timed out"; done
Beispiel
192.168.0.1 reagiert auf Ping, 192.168.0.254 nicht
[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 ~]$
Wenn Sie fortlaufendes Ping wie Fenster und mit Zeitstempel durchführen möchten, verwenden Sie dieses. Fühlen Sie sich frei, durch 192.168.0.1
Ihre eigene IP-Adresse zu ersetzen
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
Beispielantwort OK
[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 ~]$
Beispiel für Zeitüberschreitung bei Anforderung
[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 ~]$