【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?

いつもお世話になっております。

Fedora Core1で自宅サーバを運用しています。
HTTP、SMTP/POPを運用しています。
運用している中で、時々受信メールサーバが落ちてしまうことがあります。原因としては様々なケースがありますのでそれについては個々に解決しているのですが、メールが落ちてしまうと、メールを利用させてあげてる知人などに迷惑がかかってしまいます。

そこで、サービスが停止してしまった際には自動的に感知して起動するような仕組みを取り入れたいのですが、可能でしょうか?
POPサーバのアプリケーションは、dovecotです。
アプリケーションが停止する際にはロックファイルが生成されていることがあるので、ロックファイルの削除も自動的に行いたいです。
もしくは、メールサーバがダウンしたら、あるメールアドレスに警告メールを送るなど…。

そういった仕組みを構築する方法をご存知でしたらぜひお教えください。

よろしくお願いします!

A 回答 (3件)

 daemontoolsについては以下に日本語の情報があります。

ここから日本語マニュアルへのリンクもありますよ。

 こういったツールを使うほかに、勉強もかねてシェルスクリプトを作ってみるというのも良いでしょう。サーバを運用している方でしたらできると思いますよ。

 シェルスクリプトについては良い本がたくさん出版されていますので、具体的な方法としてはそちらを読んでいただくとして、そのPOPサーバのプロセスの存在を「ps -aux | grep dovecotd」みたいな感じで検知してそれをif文で判断して、プロセスが存在していなかったら、そのプロセスを起動しているrcスクリプトを念のためstopをかけて、startをかければいいでしょう。stopする対象が無くてエラーが出たときの対応をするための処理が必要かもしれません。(単に「2> /dev/null」ですむかもしれませんが)
 そのシェルスクリプトをcrontabコマンドで10分に1回とか実行するようにしてあげればいいでしょう。メールを送信することも可能でしょう。(環境によりますが)

参考URL:http://www.emaillab.org/djb/daemontools/daemonto …

この回答への補足

ご丁寧にありがとうございます。
現在、シェルスクリプトを勉強する余力がないため、daemontoolsを利用する方向で進めてみました。

すると、installする際に下記のようなエラーが出てしまいます。

Linking ./src/* into ./compile...
Compiling everything in ./compile...
sh find-systype.sh > systype
rm -f compile
sh print-cc.sh > compile
chmod 555 compile
./compile byte_chr.c
./compile: line 3: exec: gcc: not found
make: *** [byte_chr.o] エラー 127
Copying commands into ./command...
cp: cannot stat `compile/svscan': そのようなファイルやディレクトリはありません

daemontools-0.76をインストールしようとしています。

glibcのバージョンの違いで問題が発生する可能性があるとのことで、daemontools-0.76.errno.patchをあてたのですが、障害は変わりませんでした。

今一度、お知恵を貸してくださいー!

補足日時:2005/01/04 22:44
    • good
    • 0

./compile: line 3: exec: gcc: not found



gcc がインストールされていないという事はありませんか?

 compile という実行ファイル(実際にはスクリプトファイルです)の3行目で実行している gcc というコマンドが見つからない

というような事を言われています。

rpm -q gcc

いかがでしょうか?
    • good
    • 0

daemontoolsを利用してみては。



参考URL:http://cr.yp.to/daemontools.html
    • good
    • 0

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


おすすめ情報