2017-02-16 270 views
0

我有python脚本,检查服务器是否启动或关闭,如果它关闭,它会发送一个电子邮件以及几个系统日志。每5分钟运行一次cronjob,但在第一次执行后停止?

我想是保持检查服务器每5分钟,所以我把的cronjob如下: */5 * * * * /python/uptime.sh

所以每当服务器的下跌,它发送一封电子邮件。但我希望脚本在第一个脚本之后停止执行(发送更多电子邮件)。

任何人都可以帮我解决这个问题吗? 谢谢。

+0

您是否尝试在脚本中添加一个条件来检查服务器是否启动,或者您确实要删除cronjob? – RageAgainstTheMachine

+0

所有脚本都会检查服务器是启动还是关闭。我只想对cronjob施加限制,如果脚本执行(如果服务器出现故障),那么我应该继续发送电子邮件直到服务器恢复。而只需一封电子邮件。 –

回答

0

简单的解决方法是,您可以设置一些Bash env变量MONITORING=true并让您的python脚本使用os.environ["MONITORING"]来检查该变量。如果该变量是true,那么检查服务器是否启动或关闭,否则不检查任何内容。一旦发现服务器关闭,请将该变量设置为false,如os.environ["MONITORING"] = false。所以它不会发送电子邮件,直到您再次设置env变量true。如果mailtrigger.py运行,一旦服务器宕机检查

  • -nohup mailtrigger.py在无限循环
  • 来看,它从壳:

  • 0
    • 写一个空While True脚本一直运行(“mailtrigger.py” EX)如果它不 然后终止mailtrigger.py(kill process id

    因为mailtrigger.py不运行你的下一个迭代将无法发送邮件。

    相关问题