Skip to main content
 首页 » 编程设计

python之如何休眠作为 cronjob 运行的 python 脚本

2025年05月04日17yyy_WW

我写了一个 python 脚本来监视 CentOS 服务器上的日志文件的特定值,并在找到它时发送电子邮件。它作为 cron 每 5 分钟运行一次。

我的问题是在发送第一封电子邮件后让此脚本休眠的最佳方法是什么。我不希望它每 5 分钟发送一次电子邮件,但它需要在一个小时左右后醒来并再次检查日志。这是假设问题可以在一小时内解决。收到电子邮件的人没有 shell 访问权限来禁用 cron。

我考虑过休眠,但我不确定如果另一个进程处于事件状态(休眠),cron 是否会再次尝试运行脚本。

请您参考如下方法:

cron 绝对会再次运行脚本。你需要更仔细地考虑这一点,而不仅仅是“ sleep ”和“每 10 分钟发送一次电子邮件”。

您需要写出您的用例。

  1. 系统发送消息,用户做某事。

  2. 系统发送消息,用户什么都不做。为什么要再次给用户发邮件? 2 封电子邮件做什么而 1 封电子邮件没有做什么?也许你应该给别人发短信或发电子邮件。

用户如何注册某事已完成?他们将如何取消或停止此消息循环?

如果在日志中发现了什么,发送一封电子邮件,然后(在 sleep 结束之前)在日志中再次找到该东西。那是第二封电子邮件吗?这是两个事件。或者是一封包含两个事件的电子邮件?