Python 是否每5分钟运行一次cronjob,但在第一次执行后停止?

Python 是否每5分钟运行一次cronjob,但在第一次执行后停止?,python,cron,crontab,Python,Cron,Crontab,我有一个python脚本,它可以检查服务器是启动还是关闭,如果服务器关闭,它会发送一封电子邮件和一些系统日志 我想要的是每5分钟检查一次服务器,因此我将cronjob放在如下位置: */5****/python/uptime.sh 因此,每当服务器停机时,它都会发送一封电子邮件。但我希望脚本在第一次执行后停止执行(发送更多电子邮件) 有人能帮我解决这个问题吗? 谢谢 简单的解决方案是,您可以设置一些Bash env变量MONITORING=true,并让python脚本使用os.environ[

我有一个python脚本,它可以检查服务器是启动还是关闭,如果服务器关闭,它会发送一封电子邮件和一些系统日志

我想要的是每5分钟检查一次服务器,因此我将cronjob放在如下位置: */5****/python/uptime.sh

因此,每当服务器停机时,它都会发送一封电子邮件。但我希望脚本在第一次执行后停止执行(发送更多电子邮件)

有人能帮我解决这个问题吗?
谢谢

简单的解决方案是,您可以设置一些Bash env变量
MONITORING=true
,并让python脚本使用
os.environ[“MONITORING”]
检查该变量。如果该变量为
true
,则检查服务器是否启动或关闭,否则不检查任何内容。一旦发现服务器停机,请从脚本中将该变量设置为
false
,如
os.environ[“MONITORING”]=false
。因此,在您再次设置env变量之前,它不会发送电子邮件
true

  • 编写一个永远运行的空
    While True
    脚本(例如:“mailtrigger.py”)
  • 在无限循环中使用shell中的
    -nohup mailtrigger.py
    运行它
  • 服务器关闭后,检查mailtrigger.py是否正在运行,如果 然后不终止mailtrigger.py(
    终止进程id

由于mailtrigger.py未运行,您的下一次迭代将不会发送邮件。

您是否尝试在脚本中设置条件以检查服务器是否已启动,或者是否确实要删除cronjob?脚本所做的只是检查服务器是否已启动或关闭。我只想对cronjob设置一个限制,如果脚本执行(以防服务器宕机),那么我应该一直发送电子邮件,直到服务器备份。取而代之的是一封电子邮件。