Audible Ping
Does your internet go away occasionally? Do you have a computer hooked up to a moderately loud stereo system? Want to know as soon as the link comes back? Here’s a script (put it in a file, e.g. ~/bin/audible-ping) that pings some outside host, playing a short .wav file when ping finally starts to get some responses:
#!/bin/sh
ping "$@" | \
grep --line-buffered 'bytes from' 2>&1 | \
perl -e 'while (<>) { `play /path/to/the/ping/sound.wav`; }'
It will play the .wav file once per successful ping packet reply. (Obviously you’ll need to come up with your own short beep-like sound file, and replace the path given above appropriately; use play’s --volume=n parameter to adjust the volume to taste.)
We use it here when our DSL connection goes away, running
$ audible-ping 123.123.123.123
on our jukebox computer. (IP address changed to protect the innocent.) We use a literal IP address rather than a DNS name because if your ‘net is AWOL, the DNS query will time out and ping will exit rather than continuing to retry. The script lets us know the very moment our DSL connection comes back.
2 comments August 12th, 2005 tonyg