Monit을 사용하여 모니터링하는 프로세스가 있습니다. 어떤 이유로 프로세스가 죽으면 쉘 스크립트를 사용하여 슬랙 알림을 보내고 다시 시작합니다. 이 문제는 "존재하지 않습니다"지시문과 함께 작동하지 않지만. 마지막 하나는 실행되고 이전 것은 무시됩니다. 아래 코드 예 :Monit의 두 번째 "존재하지 않음"이 첫 번째 우선 적용
check process xyz with pidfile /var/run/xyz.pid
start program = "/etc/init.d/xyz start" with timeout 60 seconds
stop program = "/etc/init.d/xyz stop"
if does not exist then restart
if does not exist then exec "/opt/somescript.sh"
스크립트를 실행하지만 다시 시작하지 않습니다. 문서에서 보듯이 이것이 어떻게 동작 할 것인가와 유사합니다. 이 방법을 사용하는 다른 방법. 문서 참조 (정확히 분명하지만 유사하지 실제 동작) :
If not defined, it defaults to a restart action.
You can override the default action with the following statement:
죄송 합니다만, 질문을 입력하는 동안 죄송 합니다만, 지금 바로 고쳐 주셨습니다. –
아, 알겠습니다. 나는 그 대답을 업데이트했다. 아마도 재시작과 스크립트를 대신 한 행동으로 넣는 것이 가장 좋다. – Ulugbek
내가 exec에서 두 개의 명령을 호출하고 &&로 분리해도 몇 가지 이상한 이유가 있습니다. 첫 번째 명령 만 호출합니다. 나는 장소를 바꾸어서 이것을 테스트했지만 항상 하나의 명령 만 불렀다! –