pingで成功・失敗時に任意の音で通知させる
Pocket

仕事でpingを打ちっぱなしにしてた時、音で成功した祭は通知させられないかなぁ、と思ったので、やれないか調べてみた。
まぁ、そもそもビープ音でよければもう用意はされているのだけど、イヤホンで音楽聴いてたりしていると聞き逃すので、もうちょっと主張の激しい音で知らせて欲しい。

という訳で、pingで疎通に成功・失敗した際に任意の音で通知をさせるようにしてみよう。
前提として、ssh越しのサウンドのやり取りというのが設定とか面倒そうなので、この方法はssh接続先のサーバで実行するのではなく、あくまでも手元のMacやLinux上からとなる。

任意の文字列を読み上げさせる場合

pingの疎通成功・失敗時に任意の文字列を読み上げさせる場合は、Macであればsayコマンド、Linuxであればaplay+text2waveを用いると良いだろう。
以下の例では、疎通成功時は「OK」、疎通失敗時は「NG」と読み上げさせる。

●Macの場合

while true; do ping -c 1 対象ホスト > /dev/null && say "OK" || say "NG" ; sleep 1; done

 

●Linuxの場合

while true; do ping -c 1 対象ホスト > /dev/null && (echo "OK" | text2wave | aplay) || (echo "NG" | text2wave | aplay) ; sleep 1; done
Sponsored Links

任意のオーディオファイルを読み上げさせる場合

任意のオーディオファイルを読み上げさせる場合は、どちらもmplayerを使えば良いだろう。

while true; do ping -c 1 対象ホスト > /dev/null && mplayer オーディオファイルPATH || mplayer オーディオファイルPATH ; sleep 1; done

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。