到 运行 在时间 window 直到午夜

To run in a time window until midnight

我有一个 AirFlow 调度程序,我想 运行 从周一到周六 13 点到午夜。我写了这样一个表达式:

0 13-0 * * 1-6

例如,当我尝试在 crontab.guru 中对此进行验证时,出现错误,因为 0 小于 13:

https://crontab.guru/

有谁知道如何为这种类型的计划编写有效的 cron 表达式?

怎么样:0 13-23 * * 1-6

“每周一到周六,从 13 点到 23 点,每小时第 0 分钟。”

来源:https://crontab.guru/#0_13-23___1-6

如果您想 运行 从 13:00 开始到午夜(含)除星期日以外的所有日子的第 00 分钟执行您的命令,那么您必须玩个把戏。无法在 crontab 中定义 24 小时。您可以定义小时 00,但是

形式的 crontab
0 0,13-23 * * 1-6

将 运行 在星期一 00:00 而不是星期日 00:00 这是 OP 真正想要的。

您可以使用以下两种方法:

  1. 运行 两个 crontabs:

    0 13-23 * * 1-6
    0 0     * * 2-7
    
  2. 运行 一分钟前的单个 crontab:

    59 12-23 * * 1-6