はじめに
時節柄、現在もリモート勤務が続いている今日このごろです。
自宅のルーターの調子が悪いのか、気がつくといつのまにかネットに繋がらなくなっていることがときどき起こります。
大して気にも留めていませんでしたが、もし気がつかずに長時間作業していると外部から連絡がつかないことにも気がつかなかったり、大事な連絡を受信できなかったりする恐れがあると思いました。(コード書いてたりするとインターネット接続できなくてもすぐには困らないのでなかなか気がつかなかったりする)
そこで、簡易的ではありますが自分のパソコンがインターネットに繋がっているかをスクリプトで監視するようにしてみました。今日はそんな話です。
実行環境
- macOS Mojave(バージョン 10.14.6)
スクリプト
ping コマンドを実行して、失敗するようなら Mac のアラートを出す、というシンプルなものです。今回は特にログ出力を行っていません。pingの送信先はひとまず自分のWEBサイトで試しました。
# !/bin/bash
/sbin/ping -c1 {任意のIP/URL}
if [ $? -ne 0 ]; then
osascript -e 'display notification "インターネット接続が切れてませんか?確認してください。" with title "pingエラーです"'
fi
定時実行
Mac は cron が使えるので下記のジョブを登録しました。今回は平日の9時から18時まで5分おきに動くように設定しています。スクリプトのパスは適宜置き換えてください。
*/5 9-18 * * 1-5 sh /Users/{username}/.scripts/monitoring.sh > /dev/null 2>&1
実行結果
pingが失敗するとこんな通知がでます。これでもし仮にネットが切れたりしていても5分以内には気がつけるはずです。(僕がよほどぼーっとしてない限りは)
あんまりこれが続くようならルーターの買い替えも視野ですが、発生頻度もそれほど高くないのでいったんこれで様子をみてみようとおもいます。
Mac 使っている方なら導入は簡単なので、似たようなことをやってみたい方はよかったら参考にしてください。