4
Mär

Bash + Ping: Ausgabe mit einem Zeitstempel

categories Computer    

Eine der vielen tollen Annehmlichkeiten von bash ist die Flexibilität, verschiedene gute Werkzeuge miteinander zu kombinieren, um die gewünschte Ausgabe zu erreichen.

Vor ein paar Tagen wollte ich einen Host regelmäßig (p.e. alle zwei Minuten) pingen, und dabei einen Zeitstempel mitführen. Normalerweise verwende ich dafür geeignete Netzwerktools für diese Aufgabe wie z.B. Nagios, aber in diesem Fall wollte ich nur auf dem Bildschirm sehen, wann ein Host wieder online geht.

Nach ein paar Minuten löste ich die Aufgabe mit dieser Kombination:

ping -i 120 www.google.com | while read x; do echo "$(date +%T) $x"; done

Resultat:

08:10:24 PING www.google.com (73.94.35.76) 56(84) bytes of data.
05:10:24 64 bytes from 73.94.35.76: icmp_seq=1 ttl=57 time=9.82 ms
05:12:24 64 bytes from 73.94.35.76: icmp_seq=2 ttl=57 time=9.25 ms
05:14:24 64 bytes from 73.94.35.76: icmp_seq=3 ttl=57 time=24.4 ms
05:16:24 64 bytes from 73.94.35.76: icmp_seq=4 ttl=57 time=9.81 ms
05:18:24 64 bytes from 73.94.35.76: icmp_seq=5 ttl=57 time=60.4 ms

Mission erfolgreich!