我有python脚本,检查服务器是否启动或关闭,如果它关闭,它会发送一个电子邮件以及几个系统日志。每5分钟运行一次cronjob,但在第一次执行后停止?
我想是保持检查服务器每5分钟,所以我把的cronjob如下: */5 * * * * /python/uptime.sh
所以每当服务器的下跌,它发送一封电子邮件。但我希望脚本在第一个脚本之后停止执行(发送更多电子邮件)。
任何人都可以帮我解决这个问题吗? 谢谢。
我有python脚本,检查服务器是否启动或关闭,如果它关闭,它会发送一个电子邮件以及几个系统日志。每5分钟运行一次cronjob,但在第一次执行后停止?
我想是保持检查服务器每5分钟,所以我把的cronjob如下: */5 * * * * /python/uptime.sh
所以每当服务器的下跌,它发送一封电子邮件。但我希望脚本在第一个脚本之后停止执行(发送更多电子邮件)。
任何人都可以帮我解决这个问题吗? 谢谢。
简单的解决方法是,您可以设置一些Bash env变量MONITORING=true
并让您的python脚本使用os.environ["MONITORING"]
来检查该变量。如果该变量是true
,那么检查服务器是否启动或关闭,否则不检查任何内容。一旦发现服务器关闭,请将该变量设置为false
,如os.environ["MONITORING"] = false
。所以它不会发送电子邮件,直到您再次设置env变量true
。如果mailtrigger.py运行,一旦服务器宕机检查
-nohup mailtrigger.py
在无限循环While True
脚本一直运行(“mailtrigger.py” EX)如果它不 然后终止mailtrigger.py(kill process id
)因为mailtrigger.py不运行你的下一个迭代将无法发送邮件。
您是否尝试在脚本中添加一个条件来检查服务器是否启动,或者您确实要删除cronjob? – RageAgainstTheMachine
所有脚本都会检查服务器是启动还是关闭。我只想对cronjob施加限制,如果脚本执行(如果服务器出现故障),那么我应该继续发送电子邮件直到服务器恢复。而只需一封电子邮件。 –