【问题标题】:How to run a cron job every 5 hours (on Linux) [closed]如何每 5 小时运行一次 cron 作业(在 Linux 上)[关闭]
【发布时间】:2022-01-07 16:39:56
【问题描述】:

我想每 5 小时运行一次 cronjob。

现在是晚上 11:54..

检查 crontab 大师,这个 0 */5 * * * 似乎是正确的,但该网站也提到了这样的事情

接下来在 2022-01-07 00:00:00

我想知道为什么?这是否意味着它在午夜(00:00:00)无论如何都会运行脚本?没有意义。

【问题讨论】:

标签: linux cron


【解决方案1】:

*/5 语法的意思是“每 5 个单位,从 0 开始”。因此,如果您在小时位置使用它,它将匹配小时 0、5、10、15、20。

我假设您真正想要的是严格的 5 小时间隔。因此,在 20 小时之后,您希望下一次运行在 20 + 5 小时,所以在凌晨 1 点而不是午夜。如果这是正确的,那么就没有一种简单的方法可以让 cron 像那样工作。它可以对所有 24 的除数进行平均间隔:每 2 小时、每 3 小时、每 4 小时、每 6 小时、每 12 小时。

要获得 5 小时的间隔,一种可能的解决方法是

  • 安排 cron 作业每小时运行一次
  • 在 cron 作业运行的脚本开始时,添加额外的逻辑以检查它是否应该在这一小时运行。例如,您可以采用当前时间,并计算自纪元以来的小时数。除非计算出的数字能被 5 整除,否则请尽早退出。

【讨论】:

    猜你喜欢
    • 2018-10-17
    • 2012-07-18
    • 1970-01-01
    • 2011-09-19
    • 2011-03-20
    • 2016-10-18
    • 2018-02-18
    • 2013-11-27
    • 2017-05-26
    相关资源
    最近更新 更多