ネットワークに関する応急処置
とりあえず現状でできる手段をすべて使ってもスイッチングハブで発生するブロードキャストストームに対処ができなかったため、ネットワーク回線が落ちてもethOSは落ちていないということを前提にshellスクリプトをもう一枚書きました。今回はかなり簡単なもので、10分かからずに書き上げた雑なものです。
#!/bin/bash ip="192.168.1.99" INTERVAL=300 while true do ping -w 1 -n -c 1 $ip >> /dev/null if [ $? -eq 0 ] then #echo "clear" sleep $INTERVAL else #echo "not clear" time=date echo $time >> rebootlog.txt echo `bash "/opt/ethos/bin/r"` break fi done
ざっくりと解説しますと、同一ハブに繋がっているメインPCのIPアドレスが192.168.1.99なので、それに対してpingを5分おきに送信します。そして、もし応答がなかった場合は再起動のスクリプトを実行し、応答があった場合は再びインターバル5分に入ります。それをwhile trueで無限ループしてもらいます。
このスクリプトをethOSに転送し、前回同様custom.shに一行追記してバックグラウンドで実行します。もしネットワークが落ちてもethOS自体は生きていた場合うまく動作するはずです。もしネットワークと同時にOSごとフリーズした場合は撃沈します。
また、前回書いたshellスクリプトと今回のshellスクリプトの再起動時にいつ再起動を行ったかの履歴を別ファイルに追記し、再起動のタイミングを監視しようと思います。
とりあえず追記した2行はtime=dateとecho $time >> rebootlog.txtです。最初の1行目は日時の取得、2行目はrebootlog.txtへの追記です。
とりあえずこれで様子をみて、安定稼働してくれたらよかった程度に期待しておきましょう。
結果報告は次の記事で行う予定です。
とりあえずこの記事はこの辺で。
ではまた