Jbossが起動したばかりのスクリプトを書く方法

Jbossが起動したばかりのスクリプトを書く方法

JBossを実行し、システムの起動時にJBossが起動されたことを確認して通知するスクリプトを作成する必要があります。以下のコードは検証部分に関連しています。私が作った論理的、文法的エラーを訂正してください。

私が記録するものgrep

2017-10-27 12:04:13,933 INFO [org.jboss.bootstrap.microcontainer.ServerImpl] (基本) JBoss (マイクロコンテナ) [5.1.0.GA (ビルド: SVNTag=JBoss_5_2_1_0_GA) :1秒:804ミリ秒

!/bin/bash

maxLoops=30 numLines=200 timeToSleep=3 success=0 Server_Log=$(/path_for_log/server.log)

        for (( try=0; try < maxLoops; ++try ));
        do
           atail=`tail -n $numLines $Server_Log | grep "Started" | awk {'print $12'}`

        if [[ $atail == "Started" ]]
                then
                        success=1
                        break
              fi
                sleep $timeToSleep
        done
        if (( success ));
        then
                echo "Jboss started successfully"
        else
                echo "successful starting of Jboss is not ensured"

fi

rootでスクリプトを実行したときに表示される次のエラーを探します。

$ ./verify_jboss.sh:
 line 3: /log_path/server.log: Permission denied

答え1

可能であれば、Jbossがこのポートでリッスンしていることを確認してください。

if curl -Is http://localhost:80/ > /dev/null
then
   echo OK
else
   echo FAIL
fi

必要なのは外部プログラムだけです。カール

編集する:

Contact別のアプローチは、Webページのコンテンツなどの特定のコンテンツをテストすることです。 Webサーバーが稼働していてデータベースに接続されている場合にのみ正しく応答します。

if grep -qc "Contact" <(curl -s http://localhost/)
then
    echo OK
else
    echo FAIL
fi

そのプロジェクト<(curl ...) (プロセス代替)grepファイルとして扱われます。転送の進行を防ぐために無音をcurl選択できます。オプションで、一致するテキストの出力と数の発生を抑制できます。 1つ以上の結果が正常である場合(終了コード0)。-sgrep-qcContact

答え2

リクエストを試した後、具体的な内容を確認できます。

curl_result=$(curl -Is https://www.yoururl.com)

if  echo "$curl_result" | grep  "some_text_generated_by_JBOSS"; then
  echo "Server ok" 
fi

関連情報