실행 파일이 다시 시작되면 어떻게 UPSTART를 사용하여 이메일을 보내나요?

실행 파일이 다시 시작되면 어떻게 UPSTART를 사용하여 이메일을 보내나요?

실행 파일이 충돌하고 제대로 작동하는 경우 UPSTART를 사용하여 실행 파일을 다시 시작하고 있습니다.

start on runlevel [2345]
stop on runlevel [016]

chdir /opt/data/data_server
respawn

post-stop script
  sleep 30
end script

limit nofile 8092 8092
setuid david
exec ./data_server --file=../config/property.init --data_port=8080

내 실행 파일이 충돌한 다음 동일한 UPSTART 구성에서 다시 시작하는 경우 이메일을 보내는 다른 기능을 추가할 수 있습니까(프로그램이 충돌하고 다시 시작하려고 할 때)? 동일한 UPSTART 구성을 사용하여 이 작업을 수행할 수 있는 방법이 있는지 잘 모르겠습니다.

[email protected]이 시점에서 내 프로그램의 실행이 중지되었다는 간단한 메시지 가 포함된 이메일을 보내는 것에서 벗어나 [email protected]프로그램이 다시 시작되면 내 프로그램이 이 시점에서 실행이 중지되었음을 알리는 또 다른 이메일을 보내고 싶습니다.

답변1

다음과 같이 시도해 볼 수 있습니다.

start on runlevel [2345]
stop on runlevel [016]

chdir /opt/data/data_server
respawn

post-start script
    echo "Service Started at `date +"%F %T"` on `hostname`" | mail -s "Service Started" [email protected]
end script

post-stop script
  sleep 30
end script

limit nofile 8092 8092
setuid david
exec ./data_server --file=../config/property.init --data_port=8080

hostname의 명령은 echo서버의 호스트 이름을 인쇄하므로 어느 서버에서 다시 시작되었는지 이메일을 통해 알 수 있습니다.

관련 정보