時代に追いつくMining Log

マイニングが流行ってから一足遅れて世界に飛び込んだ人の日々の記録と成長を記録していきます

ネットワークに関する応急処置

とりあえず現状でできる手段をすべて使ってもスイッチングハブで発生するブロードキャストストームに対処ができなかったため、ネットワーク回線が落ちても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への追記です。

とりあえずこれで様子をみて、安定稼働してくれたらよかった程度に期待しておきましょう。


結果報告は次の記事で行う予定です。

とりあえずこの記事はこの辺で。


ではまた