実行ファイルが再起動したら、どのように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サーバーのホスト名を印刷するため、どのサーバーで再起動されたかを電子メールで確認できます。

関連情報