- ベストアンサー
eth0を確認するシェルスクリプト
eth0が起動しているかどうかを確認し、起動していなかったらサーバを再起動させたいと考えているのですが、どのような方法が適当と思われますか。 google等で調べてみた感じでは、シェルスクリプト足すcronで可能なのかなと思っています。 もしシェルスクリプトを使用する場合 #!/usr/bin/sh if eth0が起動していなかったら;then shutdown -r now elif eth0が起動していたら ; then 何もしない fi というような考え方をすればいいのかなと思っているのですが、具体的な記述についてはまだピンときません。具体的記述方法、あるいは参考URL等教えていただければ幸いです。 ちなみにシェルはbash。OSはred hat 9です。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ANo.1です。 下を参考にしてください。メールの代わりに再起動すればよいかと。 http://sonic64.com/2003-09-08.html#2003-09-08-1 ちなみにifconfig eth0を使う場合の書き方は ifconfigの結果を拾ってきてUPかつRUNNINGが表示されていなければ再起動とかでしょうか。 /sbin/ifconfig eth0 | grep UP | grep RUNNING > /dev/null if [ $? -ne 0 ]; then shutdown -r now fi
その他の回答 (2)
- MASA_H
- ベストアンサー率42% (64/151)
if `/sbin/ifconfig eth0` ; then ではだめでしょうか?
お礼
回答ありがとうございます。 if `/sbin/ifconfig eth0` ; then を使ってスクリプトを考えて見ます。 ただ、もう少し詳しく教えていただくことは可能でしょうか。 どうぞよろしくお願いします。
- chococat
- ベストアンサー率66% (4/6)
どこかにpingするとかではダメでしょうか? (ifconfig eth0 してUP、RUNNINGかどうか調べても本当に通信できるかどうかは謎ですし。。。)
お礼
回答ありがとうございます。たしかにpingを打つのもスマートなやり方と思いました。 その場合ifにping hogehoge と入れるのだと思いますが、具体的なスクリプトが書けません...
お礼
ありがとうございます。リンク先、具体的記述とも大変参考になります。早速サーバ内でためしてみるつもりです。