【问题标题】:Check to see if cronjobs are executed [closed]检查是否执行了 cronjobs [关闭]
【发布时间】:2012-03-05 22:18:18
【问题描述】:

我每 15 分钟运行一次 cronjob,并且我希望在作业未运行时收到通知(最好通过电子邮件)。也就是说,如果 cron 根本没有运行作业。

我知道我可以手动检查日志文件,但我希望这是每次 cron 应该执行命令时的自动检查。

cron 是否提供任何方法来执行此操作,还是我需要其他方法?

【问题讨论】:

  • “不执行”是什么意思?它根本不运行,或者它崩溃并且永远不会完成?如果它根本不运行,似乎 CRON 必须太坏才能发送电子邮件......?
  • 对不起,如果问题不清楚。你所描述的正是我的问题所在。我所说的“不执行”的意思是它根本不运行。那么,如果 CRON 本身导致作业无法运行,我该如何自动化此任务。
  • 如果您认为crond 未启动或已崩溃,我看不到任何方法。谁或什么会向您发送电子邮件?

标签: linux email cron


【解决方案1】:

如果您想拥有真正强大的解决方案,您需要使用第二台机器。您的第一台机器需要在某处放置上次执行的时间(在网站或其他一些共享资源上发布),然后第二台机器需要定期检查该时间,如果它与当前不同 - 向您发送电子邮件。

【讨论】:

    【解决方案2】:

    您可以设置 cron 来发送确认作业执行的邮件。在 crobtab 文件中的作业行之前添加以下行

    MAILTO='Yourmail@domain.com'
    #Cron entry goes here.
    
    
    MAILTO='Yourmail@domain.com'
    #second cron entry goes here.
    

    然后让您的作业在每次执行时打印/回显某些内容(在开始时)。就像一个简单的陈述'工作开始'。在作业执行时,此输出将邮寄到给定的邮件 ID。如果收到邮件 cron 被执行,如果没有问题,请检查一下。

    【讨论】:

    • 这样,您将在作业执行时经常收到电子邮件。而且我认为重点是在出现问题时减少接收电子邮件的频率。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 2011-10-24
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多