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

我的问题是在发送第一封电子邮件后使该脚本进入睡眠状态的最佳方法是什么。我不希望它每5分钟发送一次电子邮件,但是它需要唤醒并在一个小时左右后再次检查日志。假设问题可以在一小时内解决。接收电子邮件的人没有外壳访问权限以禁用cron。

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

最佳答案

@ Lennart,@ S。 Lott:我认为问题是相反的-脚本每5分钟作为一次Cron作业运行,但是在发送错误电子邮件后,它至少应该在一个小时内不再发送另一个邮件(即使错误状态仍然存在) 。

我认为,最明显的答案是保存一个自我日志-对于检测到的每个问题,最后一次发送电子邮件时都应提供ID和时间戳。当检测到问题时,请检查自日志。如果此问题ID的最后一封电子邮件少于一个小时前,请不要发送该电子邮件。然后,您的程序可以正常退出,直到被cron再次调用。

关于python - 如何休眠作为cronjob运行的python脚本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4607343/

10-11 22:49
查看更多