Audible Ping
This page is a mirrored copy of an article originally posted on the (now sadly defunct) LShift blog; see the archive index here.
Fri, 12 August 2005
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.
Comments
On 4 October, 2005 at 11:11 am,
wrote:On 8 November, 2006 at 12:03 pm,
wrote:salut
Under FreeBSD very similar functionality is built into the standard ping program. From the ping(8) manpage:
so if you ran ping -A 123.123.123.123, your jukebox would start beeping as soon as the dsl connection went down.
ian
http://darq.com/#/