実行可能ファイルがクラッシュして正常に動作している場合は、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
サーバーのホスト名を印刷するため、どのサーバーで再起動されたかを電子メールで確認できます。