时间与计算

Cron 与调度规则工具

定时任务的调度表达式在不同系统里语法各不相同,Cron 加个字段、Quartz 多了 L 和 W,一不小心就配错时间。Cron 表达式生成器生成并校验标准表达式,还能按时区预览执行时间;Quartz Cron 生成器编辑 Quartz 表达式,核对 L、W、# 这几个字符;Jenkins Cron 表达式生成专用表达式,解释 H 哈希取值范围。

云上和系统级调度也有对应工具:EventBridge cron 表达式生成 AWS EventBridge 用的 cron 表达式,区分规则和 Scheduler 两种写法;systemd Timer 生成与解释填写日历或开机间隔生成 .timer 配置。处理日历重复事件而不是服务器任务时,RRULE 生成器生成 RRULE 规则,还能排除例外日期。

6 个工具

Cron / 调度规则工具常见问题

Cron 和 Quartz Cron 的表达式能通用吗?

不能直接通用。标准 Cron 是五个或六个字段,Quartz Cron 是六到七个字段并且多出秒字段和年字段,还支持 L、W、# 等标准 Cron 没有的特殊字符。用 Cron 表达式生成器生成标准写法,Quartz 环境则改用 Quartz Cron 生成器,避免把两套语法混用导致任务没有按预期执行。

Jenkins 里的 H 是什么意思?

H 是 Jenkins 特有的哈希写法,代表在给定范围内由系统按任务名哈希出一个固定值,作用是把大量任务的执行时间错开,避免所有任务都卡在整点同时触发导致负载尖峰。用 Jenkins Cron 表达式生成表达式的同时,也能看到对应的 H 取值范围解释。

怎么生成一条每月最后一个工作日执行的调度规则?

标准 Cron 语法本身不直接支持这种规则,通常要用 Quartz 的 L 和 W 组合表达,或者在应用层判断。用 Quartz Cron 生成器编辑 L、W、# 这类字符对应的表达式,并核对含义是否符合预期,比照着文档手写再逐条验证要省心。