Raspberry PI でpingが途切れたら再起動させるようにする

Raspberry PI でUSBの無線LANアダプタ経由で通信させてると
電力不足なのかなんなのか不安定になって通信受け付けなくなるので
とりあえず ping が途切れたら再起動させるようにして様子見することにした。
(OSは生きてて通信だけ死んでる状態ならこれで復活するはず)

  • ping監視スクリプトを書く
    • めんどかったので難しいこと考えずに、指定IPアドレス(ルーターとか?)に5秒間タイムアウトでpingしてエラーになったら再起動させるようにした
    • 再起動にshutdownコマンド使うので root実行前提

      vi /home/pi/pingKansi.sh

      #!/bin/bash
      
      # IPアドレス
      PINGIP="xxx.xxx.xxx.xxx"
      # 再起動実施時のログ
      PINGLOG="/var/log/pingKansi.log"
      
      # ping失敗したら再起動
      ping -c 1 -w 5 $PINGIP
      if [ $? -ne 0 ] ;then
              echo "`date` rebooted" >> $PINGLOG
              shutdown -r
      fi
  • crontab設定
    • 毎時30分に作ったping監視スクリプトを呼ばせる

vi /etc/crontab

# 毎時30分に実行
30 *    * * *   root    /home/pi/pingKansi.sh

Tag: TIPS