- PR -

他PCのサービス起動を待ちたい

1
投稿者投稿内容
しゅうちん
会議室デビュー日: 2005/11/10
投稿数: 11
投稿日時: 2008-04-24 17:39
現在複数台のPCでLinux上にPostgres,Tomcatを入れて運用しております。

全てのPostgresの起動が全て終了してから、Tomcatの起動プロセスを開始したいのですが、Linux間でのPostgreSQLの起動完了確認をどのようにしようか悩んでいます。

このようなケースは巷にあふれていると思いますが、一般的にはどんな方法が採用されているのでしょうか?
水都
大ベテラン
会議室デビュー日: 2004/07/22
投稿数: 111
投稿日時: 2008-04-24 18:02
他のPCが起動するのを確認してからTomcatの入っているPCを起動すれば良いのではないでしょうか

一般的には起動しっ放しなのでそんな事を気にしないんじゃないですか?
しゅうちん
会議室デビュー日: 2005/11/10
投稿数: 11
投稿日時: 2008-04-24 18:51
返信ありがとうございます。

色々な事情により、毎晩シャットダウンしてます。
よって、毎朝PCの起動が発生してしまいます。
ココはどうしようも無い部分です。

また、レプリケーションやロードバランシングを行っている関係で、Tomcatが数台、Postgresが数台あります。

これまではTomcatの起動時間を遅めにしていましたが、時間の制御では年に1,2回ほどですが色んな理由で起動してくれなかったりします。

そんな理由から、全てのTomcatを起動するのはPostgresが起動し終わってからという仕掛けを作りたく質問をさせていただいています。

質問が短くて分かりづらかったですね。すいません。
ゆっぽ
常連さん
会議室デビュー日: 2006/02/15
投稿数: 40
投稿日時: 2008-04-24 20:59
私のところは、そういう要件の場合は、シェルで作り込んでますね。

あるかな
大ベテラン
会議室デビュー日: 2003/11/04
投稿数: 245
投稿日時: 2008-04-24 21:21
こんばんは。

マネージャとなるサーバ、もしくは相互間で、rsh や ssh などを利用する起動スクリプトを書くのが早い気がします。
もしくは、起動スクリプトではなく、PostgreSQL 全サーバの一括稼働確認スクリプトを
Tomcat 全サーバに仕込んで、確認スクリプトが通ったら個々で Tomcat を起動させる流れにするか。

いずれにしてもリモートで確認可能な環境が必要ですが。
しゅうちん
会議室デビュー日: 2005/11/10
投稿数: 11
投稿日時: 2008-04-24 21:39
ゆっぽさん、あるかなさんありがとうございます。

なるほど、rshを忘れていました。

while $flag
do
alive=`rsh xxxxx ps -ef | grep postgres |grep -v grep | wc -l`
if [ $alive = 0 ];
then
flag=false
fi
sleep xxx
done

のような感じになるのでしょうか?
試してみます。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)