JBoss를 실행하고 시스템 부팅 시 JBoss가 방금 시작되었음을 확인하고 알리는 스크립트를 작성해야 합니다. 아래 코드는 유효성 검사 부분과 관련이 있습니다. 제가 만든 논리적, 문법적 오류를 정정해 주십시오.
내가 기록하는 것 grep
:
2017-10-27 12:04:13,933 INFO [org.jboss.bootstrap.microcontainer.ServerImpl] (기본) JBoss (마이크로컨테이너) [5.1.0.GA (빌드: SVNTag=JBoss_5_1_0_GA 날짜=200905221053)] 1m에서 시작: 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
루트로 스크립트를 실행할 때 나타나는 다음 오류를 찾아보십시오.
$ ./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
또 다른 접근 방식은 웹 페이지의 콘텐츠 와 같은 특정 콘텐츠를 테스트하는 것입니다 . 웹 서버가 실행 중이고 데이터베이스에 연결되어 있는 경우에만 올바르게 응답합니다.
if grep -qc "Contact" <(curl -s http://localhost/)
then
echo OK
else
echo FAIL
fi
그 프로젝트<(curl ...)
(프로세스 대체)grep
파일 로 처리됩니다 . 전송 진행을 방지하기 위해 무음을 curl
선택할 수 있습니다 . 선택적으로 일치하는 텍스트의 출력 및 개수 발생을 억제 할 수 있습니다 . 하나 이상의 결과가 정상인 경우 (종료 코드 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