Raspberry PiのLANが死んだら再起動させるスクリプト

常時稼働のRaspberry PiのLAN(有線/無線)が切断状態となり再起動しないかぎり永久に復旧しないことが稀にあったりする。

再起動したくても設置場所が遠方となると大変なのでcronなどで定期的に再起動するのが安心確実なのだが早急に復旧させたい場合もある。

設定をミスッてるだけのことかもしれないが以前はRaspberry PiのWatchdog機能が使えたような気がするがいつのまにか機能しなくなってるようなのでLANを死活監視して再起動するスクリプトを書いてみた。

LANの保守や故障時に頻繁に再起動されても精神的に宜しくないので3分間隔でpingを実行し5回連続で失敗したら再起動を行うようにしてみた。pingのターゲットはLANのルーターを指定するのがベストかな。

【自動実行する方法】

/opt/lanmonなど適当なディレクトリにlanmon.shとinstall.shを作成後下記コマンドを実行する。

sudo chmod +x ./lanmon.sh
sudo chmod +x ./install.sh
sudo ./install.sh

【journalctlで状況を確認する方法】

journalctl –no-pager -g ” ping failed”
※Bootログも表示されるので想定外の再起動も確認できたりする。

【systemctlで状況を確認する方法】

systemctl status lanmon
※再起動するとステータスもリセットされることに注意。

【LAN死活監視スクリプト(lanmon.sh)】

【systemdに登録するためのスクリプト(install.sh)】

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください