我正在使用 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
打印服务器的主机名,因此您应该能够在电子邮件中知道它在哪台服务器上重新启动。