Cron表达式在线生成器

可视化点选字段,中文释义,预估下次执行时间

秒 分 时 日 月 周

中文释义

每天,每分钟,每秒执行

常用预设

可视化生成

每个字段选「每 / 间隔 / 范围 / 指定」。指定时再点数字多选,不会一次勾上全部。

下次运行时间

0 次

    字段拆解

    Cron表达式生成器:在线生成 crontab / 中文释义 / 下次运行时间

    Cron表达式生成器(也称Cron表达式在线生成、crontab生成器、Cron解析、定时任务表达式、cron generator)可在浏览器本地编写或可视化点选 Unix 五位、带秒六位表达式,实时给出中文释义,并按中国时区 / 浏览器本地 / UTC 预估下次运行时间。适合配置 Linux crontab、CI 调度,以及部分「秒 分 时 日 月 周」任务。全部在本地完成,表达式不上传。

    一句话定义

    Cron 表达式用空格分隔的字段描述「何时触发」。标准 Linux crontab 为五位:分 时 日 月 周;Spring / 部分调度器可再加秒,变成六位:秒 分 时 日 月 周。字段数选错会导致整体错位,复制前请先确认目标引擎。

    怎么用 Cron 表达式生成器

    1. 先选 Unix 五位(Linux crontab)或 带秒六位(Spring 等常见写法)。
    2. 直接改表达式,或点「常用预设」;也可在可视化区按「秒 / 分 / 时 / 日 / 月 / 周」分别选「每 / 间隔 / 范围 / 指定」。
    3. 核对中文释义与「下次运行时间」;时区默认中国(UTC+8),也可切浏览器本地或 UTC。
    4. 点「复制」贴进 crontab、CI 配置或调度平台;上线前用目标环境再验一次。

    Cron 字段含义(五位 / 六位)

    字段 取值 说明
    秒(六位才有) 0–59 Linux crontab 无此字段;Spring 常见六位含秒
    分 0–59 * 每分钟;*/5 每 5 分钟(0,5,10…)
    时 0–23 24 小时制;9 表示 9 点整相关分钟
    日 1–31 当月不存在的日期会被跳过(如 2 月 31 日)
    月 1–12 可用 JAN–DEC
    周 0–7 0 与 7 均为星期日;可用 SUN–SAT

    常用写法与符号

    • *:该字段每一次。
    • ,:列举,如 1,15,30。
    • -:范围,如 1-5(周一到周五)、9-18。
    • /:步长,如 */10、0-30/5(从起点按步长取值)。
    • 宏(五位常见):@hourly、@daily、@weekly、@monthly、@yearly、@reboot。

    常见场景示例

    场景 Unix 五位 带秒六位
    每 5 分钟 */5 * * * * 0 */5 * * * *
    每天 8:30 30 8 * * * 0 30 8 * * *
    工作日 9 点 0 9 * * 1-5 0 0 9 * * 1-5
    每周一 9 点 0 9 * * 1 0 0 9 * * 1
    每月 1 号 0 点 0 0 1 * * 0 0 0 1 * *
    每 15 秒 —(crontab 无秒) */15 * * * * *

    页面「常用预设」已内置上述场景,点一下即可载入表达式并查看释义与下次时间。

    日和周同时指定时

    Linux cron 规定:日、周都不是 * 时,满足其中一个就会触发(或关系)。例如 0 0 1 * 1 表示「每月 1 号 或 每周一」的 0 点,不是「仅每月第一个周一」。只有一边限制时,按另一边过滤。Quartz 常用 ? 表示「不指定」;本页把 ? 当作 * 处理,移植到 Java Quartz 时请按官方文档改写。

    适合做什么

    • 写 Linux / 容器 crontab:备份、清理日志、拉数、健康检查。
    • 核对 CI(GitHub Actions cron、GitLab schedule 等)与本地 crontab 字段是否一致。
    • Spring @Scheduled(cron = "…") 等带秒表达式的草稿与释义。
    • 排查「以为每天 9 点,实际是 UTC 9 点」这类时区偏差。

    常见问题

    Cron 表达式生成器和 crontab 里写的一样吗?

    五位格式对齐常见 Linux cron(Vixie/cronie)。不同发行版、Kubernetes CronJob、云厂商调度器可能不支持秒字段或 @daily 等宏,请以目标平台文档为准。

    Spring / Quartz 能直接用吗?

    带秒六位接近 Spring CronTrigger 常见写法。Quartz 的 L、W、#、年字段本页不做完整模拟;且 Quartz 周日编号、日/周 ? 规则与 Linux 不同,移植时务必对照官方文档。

    下次运行时间不准怎么办?

    先确认时区与字段位数。服务器若是 UTC,表达式里的「9 点」是 UTC 9 点,不是北京时间。再确认目标引擎是否接受秒字段;五位贴进六位系统会整体错位。

    @weekly 为什么是周日?

    Vixie cron 把 @weekly 定为周日 00:00(等价 0 0 * * 0)。若要每周一,请用 0 0 * * 1(五位)或页面里「每周一」类预设。

    为什么没有 2 月 31 日的下次时间?

    不存在的日历日会被跳过。例如日字段写 31 时,二月不会触发,会等到下一个有 31 日的月份。

    内容会上传吗?

    不会。解析、释义与下次时间推算均在浏览器本地用 JavaScript 完成,页面不把表达式提交到服务器。

    相关网络 / 开发工具

    注意事项与免责声明

    上线前请确认:字段位数与目标引擎一致、时区与服务器一致、日/周「或」语义符合预期。本页预估时间供配置参考,不能替代生产环境的真实调度结果。

    本工具仅供学习与配置参考,不保证与所有操作系统、Quartz、Kubernetes 或云调度器行为完全一致。请在目标环境复核后再用于生产任务;因误配置导致的漏跑、重复执行或损失由使用者自行承担。

    评论

    0/2000

    相关工具