人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Solaris9でApache-2.0.53をインストールして自動起動するようにしましたが、
マシン起動のつど、httpdが起動したりしなかったりと不安定です。
(参考)http://www.hatena.ne.jp/1108189175
再コンパイルしようかとも思いましたが、
いまのところ、httpdを監視して起動していないときにはApacheを起動するようなシェルスクリプトを作成してやりたいと思います。
ですが、すいません。私はプログラムはまったくお手上げです。
どこかにか、このシェルが公開されていないでしょうか。
解決したときには、先着の1名様に1500ptお支払いします。
監視デーモンはhttpdでhttpdが起動してないときには# /usr/local/apache2/bin/apachectl start
で起動させたいです。
よろしくお願いします。

●質問者: meichi
●カテゴリ:ウェブ制作
✍キーワード:2.0 Apache httpd N/A インストール
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● dev_zer0
●20ポイント

#!/bin/csh

# httpdの存在チェック

ps -ef | grep httpd | grep -v grep > /dev/null

if ( $status == 0 ) then

# 既に起動している

exit 1;

endif

# httpdの起動

/usr/local/apache2/bin/apachectl start

exit $status;

◎質問者からの返答

ありがとうございます。m(_ _)m

残り2件回等をいただいてますので、できた方で先着の方にポイントをお支払いします。

申し訳ありませんが、2名の方には20ptのお支払いで了承いただきたいと思います。


2 ● sadcns
●20ポイント

http://www.linux.or.jp/JM/html/cron/man5/crontab.5.html

Manpage of CRONTAB

きれいなやり方ではないですが。。。

スーパーユーザ(root)になって、

# EDITOR=vi

# export EDITOR

# crontab -e

とコマンドを入力し(#はプロンプト)、

0 * * * * /usr/local/apache2/bin/apachectl start /dev/null 2>&1

と記述してみてはいかがでしょうか?毎時0分に起動処理が動作します。

※ アンド”&”は半角にしてください。投稿するとエラーになるようなので、全角にしてます。

起動済みの場合は「already running」とエラーになりますが、影響は無いはずです。

毎時0分じゃなくしたい場合はURLを参考に変えてみてください。


3 ● dekusama
●1500ポイント

1.以下の内容のシェルを作成する。

# vi /tmp/a.sh

2.実行パーミッションをつける

# chmod +x /tmp/a.sh

3.デーモンとして起動する

# nohup /tmp/a.sh </dev/null >/dev/null 2>&1 &

4.停止する時は

# ps -ef | grep /tmp/a.sh | grep -v grep

でプロセスIDを特定し、

# kill -9 {プロセスID}

===========ここから==========

#!/bin/sh

while true #以下をずっと繰り返す

do

if [ ”`ps -ef | grep /usr/local/apache2/bin/httpd | grep -v grep`” = ”” ] ; then #起動しているプロセス名に”/usr/local/apache2/bin/httpd”がなかったら

/usr/local/apache2/bin/apachectl start #apacheの起動コマンドを実行する

fi

sleep 60 #60秒待つ

done

===========ここまで==========

◎質問者からの返答

遅くなりましてすいませんでした。

dekusamaさんからの回答でシェルを少し変更しましcronでまわしたら、検証機ではうまくいきました。

#!/bin/sh

if [ ”`ps -ef | grep /usr/local/apache2/bin/httpd | grep -v grep`” = ”” ] ; then #process httpd ng

/usr/local/apache2/bin/apachectl start #httpd start

fi

ですが、実機ではうごかなかったです。

あらためて質問したいと思います。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ