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_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).-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

관련 정보