6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Macで雑にインターネット接続の死活監視を行う

Last updated at Posted at 2020-06-16

thumbnail_internet.jpg

はじめに

時節柄、現在もリモート勤務が続いている今日このごろです。

自宅のルーターの調子が悪いのか、気がつくといつのまにかネットに繋がらなくなっていることがときどき起こります。

大して気にも留めていませんでしたが、もし気がつかずに長時間作業していると外部から連絡がつかないことにも気がつかなかったり、大事な連絡を受信できなかったりする恐れがあると思いました。(コード書いてたりするとインターネット接続できなくてもすぐには困らないのでなかなか気がつかなかったりする)

そこで、簡易的ではありますが自分のパソコンがインターネットに繋がっているかをスクリプトで監視するようにしてみました。今日はそんな話です。

実行環境

  • macOS Mojave(バージョン 10.14.6)

スクリプト

ping コマンドを実行して、失敗するようなら Mac のアラートを出す、というシンプルなものです。今回は特にログ出力を行っていません。pingの送信先はひとまず自分のWEBサイトで試しました。

monitoring.sh
# !/bin/bash

/sbin/ping -c1 {任意のIP/URL}
if [ $? -ne 0 ]; then
  osascript -e 'display notification "インターネット接続が切れてませんか?確認してください。" with title "pingエラーです"'
fi

定時実行

Mac は cron が使えるので下記のジョブを登録しました。今回は平日の9時から18時まで5分おきに動くように設定しています。スクリプトのパスは適宜置き換えてください。

cron
*/5 9-18 * * 1-5 sh /Users/{username}/.scripts/monitoring.sh > /dev/null 2>&1

実行結果

pingが失敗するとこんな通知がでます。これでもし仮にネットが切れたりしていても5分以内には気がつけるはずです。(僕がよほどぼーっとしてない限りは)
alert2.png

あんまりこれが続くようならルーターの買い替えも視野ですが、発生頻度もそれほど高くないのでいったんこれで様子をみてみようとおもいます。

Mac 使っている方なら導入は簡単なので、似たようなことをやってみたい方はよかったら参考にしてください。

参考リンク

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?