2013-06-14 5 views
3

monit의 "check program"을 사용하여 bash 스크립트의 종료 상태를 검사하려고 할 때 구문 오류가 발생합니다. bash 스크립트를 수동으로 실행하면 오류가 발생하지 않습니다. 하지만 내가 설정에서 내 monit 체크 프로그램을 사용하여 다시로드하는 경우, 오류로 인해 오류가 발생합니다. 나는 확실히 MONIT를 만들기 위해이로 변경 파일을 구문 분석 떠들썩한 파티를 사용하는 경우 사용자 정의 스크립트 "check program"실행시 Monit 오류

check program myscript with path "/usr/bash /etc/monit.d/script_to_run.sh" 
    if status != 0 then alert 

가 그럼 난이 얻을 ...

check program myscript with path "/etc/monit.d/script_to_run.sh" 
    if status != 0 then alert 

-

여기에 내 현재 MONIT의의 .conf 파일입니다 오류

Warning: Program does not exist: '"/bin/bash /etc/monit.d/script_to_run.sh"' 

오류 심지어 테스트 스크립트 결과 - 나는 script_to이있는 경우 _run.sh : 나는 script_to_run.sh이있는 경우

Error: syntax error 'exit' 

#!/bin/bash 
exit 0 

MONIT 불평합니다

#!/bin/bash 
echo "hello" 

MONIT는 참조 용으로

Error: syntax error 'echo' 

을 불평 할 것이다 - - 나는 monit 5.4를 가지고 있고, "ch eck program "예제를 man monit doc에 저장하고, 동일한 서버에서 monit"check process ... "를 구성/사용할 수 있습니다.

답변

7

확인. 이 책을 읽는 사람들을 위해 나중에 참고할 수 있도록 .sh 파일을 /etc/monit.d/

에 넣지 마십시오. 나는 .sh 파일을 다른 디렉토리로 옮겼고 모든 것이 이제는 괜찮습니다.

0

AWS 클라우드에서 Amazon AMI를 사용하고 있습니다. 불행하게도, 기본적으로 아마존은 MONIT의 이전 버전을 출하하고있다 - 그들은 그렇지 않으면 MONIT의 버전을 설치하는 것이 좋습니다 5.2.5

https://forums.aws.amazon.com/thread.jspa?threadID=215645

. Amazon 포럼에서이 대안을 제시했습니다 :

sudo yum install -y https://kojipkgs.fedoraproject.org//packages/monit/5.14/1.el6/x86_64/monit-5.14-1.el6.x86_64.rpm