For a few days now, my internet has been intermittently shutting off in the afternoon and turning back on in the evening (thanks Comcast?). I want to see the exact time at which my connection drops, but unfortunately the ping
command does not have built-in timestamp support. Fortunately, the Bash script below adds a thin wrapper around ping
in order to add a timestamp in front.
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/bash HOST=$@ ping $HOST | while read PONG do grep -q ttl <<< "$PONG" if [ $? - eq 0 ]; then echo "`date`: $PONG" else echo "$PONG" fi done |
This code comes courtesy of this Unix.StackExchange post, which I have slightly modified. To use it, copy and paste the above code into a file named tping
, then chmod +x tping
. Its usage is identical to ping
. For example,
1 | . /tping -c 100 google.com # ping google.com 100 times with timestamp |
You can run ./tping
with no arguments to see usage.
Additionally, you can download the Bash script here (right-click and save).