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)。-s
grep
-qc
Contact
答え2
リクエストを試した後、具体的な内容を確認できます。
curl_result=$(curl -Is https://www.yoururl.com)
if echo "$curl_result" | grep "some_text_generated_by_JBOSS"; then
echo "Server ok"
fi