Cron表达式周/星期/天时无效报错失败

Cron 表达式通常包含6个或7个字段(具体取决于系统实现),标准格式

分钟 小时
星期
表达式字段 * * * * * ? 可不填默认为 *
Cron 表达式 * * * * * ?

Cron 表达式的标准格式通常包括6或7个字段,具体格式

  • 6 字段格式
    (最常见的 UNIX/Linux Cron 格式):
    秒 分 时 日 月 星期

  • 7 字段格式

    (常见于某些系统,如 Quartz Scheduler 等):
    秒 分 时 日 月 星期 年

7 字段格式 中,年(Year) 是最后一个字段,而在 6 字段格式 中没有年字段,因此年字段在这类系统中是可选的。

为什么 UNIX/Linux Cron 只支持 6 字段格式

  • 设计简洁性:UNIX Cron 的设计目标是简洁、高效,并且适用于周期性任务调度。它不涉及复杂的年份管理,而是专注于日常、月度或年度的任务调度。
  • 历史遗留:UNIX Cron 的设计沿用了很久,最早的 UNIX Cron 就没有包含年份字段,更多是考虑日常系统任务和服务的周期调度。

Cron表达式周/星期/天时无效报错失败

  1. 指定具体星期几执行的时, 此时的具体日期必须指定为 ? , 而不能为 *
  2. 指定具体日期执行时, 此时的具体星期 必须指定为 ? ,而不可为 *

错误原因

二者的时间范围会有交集, 同时执行会互斥, 参见文档:
https://www.bejson.com/othertools/cronvalidate/

posted @ 2021-03-23 14:14  Journey&Flower  阅读(268)  评论(0编辑  收藏  举报