回線の死活監視

[`evernote` not found]
Bookmark this on Hatena Bookmark
Share on Facebook
LINEで送る

自宅の回線がよく切れるので,いい加減にムカついてきた.
とはいえ,どの程度切れているのかデータがないので計測することにする.

参考にしたのは,Perlでフラッシュする方法: 小粋空間

ただし,このままだと最後のperlの出力をファイルリダイレクトした時に,バッファリングされてしまう.
きっちりCtrl-dなんかで落とせばいいんだろうけど,うっかりCtrl-cで落とすと,バッファリングされている出力が電子の藻屑と化してしまう.
そこで,以下のように$|への代入でバッファリングを無効化するようコマンドを改造した.
あと細かいとこでいえば,24時間監視を1週間くらいしたく,200msでpingを打つと怒られそうなので,ちょっとパラメータもいじった.

$ ping hogehoge.destination.address -i 60 | perl -MPOSIX -ne "local $|=1;print strftime('%Y-%m-%d %H:%M:%S ',localtime), $_" > output.filename

ちなみに,多段のパイプやリダイレクトについては【bash】リダイレクトとパイプを理解する(3) - 私は素人サーバ管理者が参考になったものの,今回はそんな複雑なことにはならなかった.