Linuxで稼働しているサーバのデーモン(dns, httpd, sendmail等)が正常に作動しているかどうか判定して、自分の携帯に作動していないことが判明したらメールを送付するようなshelscripの例などがどこかURLに公開されておりますでしょうか。前回pingを用いてサーバの稼働を確認する方法を教えていただきましたが、使用している安心感がかなりあります。各ソフトの稼働状態が自動で携帯に入るので在ればこれは究極の監視ツールになるのでは無いかと思います。Unix, Shellscript超初心者です。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

お久しぶりです。

yostyです。
前回は低レベルなスクリプトでお手数をおかけしてしまいましたが、
こりずに発言させていただきます。

今回のスクリプトは、前回と違い、自分自身のマシンで実行します。
また、一度メールを送っても終了せず、監視を続けます。
以下では30分ごとを指定しています。sleepの後ろを書き換えてください。

/etc/rc.d/init.d/ に起動ファイルがあるものしか対応出来ません。
for target in の後ろに、必要な物を/etc/rc.d/init.d/ から選んで書いてください。
プロセスが死んでいる場合は、メールだけでなく、自力で起動もさせるようにしました。

/etc/rc.d/init.d/ 以外のものもとなると、
ps ax | grep $target
を使う方法がありますが、syslog等、自分自身ではないプロセスに関連して文字列が出てくることもありますので、こちらのやり方を選びました。
________________________________________________________________
#!/bin/sh

while [ 0 ]
do
for target in named httpd syslog crond xinetd sshd
do
if /etc/rc.d/init.d/$target status &> /dev/null
then
:
else
/etc/rc.d/init.d/$target start &> /dev/null
echo $target was dead | mail user@address.com
fi
done
sleep 1800
done

exit 1
________________________________________________________________

なお、このスクリプトだけでは、プロセスに問題がないのか、マシン自体が落ちてしまって、スクリプトが動いていないのかの区別が付きませんので、前回のpingのスクリプトと会わせてお使い下さい。

プロセスが動いていることと、正常に動いていることとは同じではないので、あくまで補助的なものと考えてください。
    • good
    • 0
この回答へのお礼

貴重なお時間を頂きまして、前回に引き続いて御世話になります。ご記載頂きましたように書きまして、ソフトを停止したところ携帯に停止している旨のメールが入りました。このようなShellscriptが書けるようになるにはどんな本を読んで、どのように勉強すれば良いのでしょうか。ご教授頂ければ幸いです。本当に有り難うございました。これからはパソコンを持ち歩いて時々アクセスするなどと言う作業から多少は解放されそうです。

お礼日時:2001/12/11 12:57

でもさ、PINGじゃ意味ないと思うんだけど。

だってNICが生きてるかどうかを確認してもDeaomは見えないジャン。なら、netstatとか自分にポートスキャンをかけて確認するほうがいいんじゃない?
でもね、SMTPが死んでたら、DNS、HTTPDが生きててもメールで報告はできないから、違うドメインのSMTPじゃないとだめじゃない?

ちょっと冷たいかもしれないけど、これは既存技術でこの手のソフトはいっぱいあるので究極ではなかったりする・・・しかも、この手の監視ソフトは動作が怪しいというか、監視間隔によって、ちょっとしたトラフィックもダウンと判断するよ
    • good
    • 0
この回答へのお礼

有り難うございました。

お礼日時:2001/12/11 13:00

perlのNet::telnet等を使用して、直接サービスに接続して稼動を確認するのが良いでしょう。



たとえば、wwwなら「telnet remotehost 80」で接続できますので、接続後、「GET /hidden_index.html」等として正しくページが取得できるかどうかを確認すれば良いでしょう。

まぁ、面倒なら有償のリモート監視サービスを契約するほうが早いかも、、、

#ガンバレ!!
    • good
    • 0
この回答へのお礼

有り難うございました。今後もよろしく御願いいたします。

お礼日時:2001/12/11 12:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング