Cron 表达式在线解析
输入 cron 表达式,立即得到中文说明和未来 5 次执行时间。支持 5 段标准写法,也支持 @daily 这类简写。
中文说明
未来 5 次执行时间(按本机时区)
格式说明
- 标准五段:
分 时 日 月 周,例如0 3 * * *表示每天 3:00。 *任意值;*/5每 5 个单位;1-5范围;1,3,5枚举;可组合如1-10/2。- 周字段 0 和 7 都表示周日,1 到 6 依次是周一到周六。
- 日和周同时给具体值时,按"或"处理(任一满足即执行);只有一个给值时按"且"处理。
- 支持的简写:
@hourly、@daily、@weekly、@monthly、@yearly。 - 注意:Cron 使用的是服务器时区,本页按你当前浏览器时区推算,部署前请确认 crontab 所在机器的时区。
常见问题
- 为什么本页算出的时间和服务器上的不一致?
时区不同。crontab 里的时间是按服务器所在时区解释的,本页用的是你浏览器的本地时区。服务器多为 UTC,国内机器可能是 CST(+8),两者会差 8 小时。先执行date确认服务器时区,再对照本页结果。 */5和0/5有区别吗?
这两个在分钟字段里等价,都表示 0、5、10……55。但3/5不一样,它表示从 3 开始每隔 5,即 3、8、13……58。斜杠前的数字是起始值,不是步长。- 为什么我写的"每月 31 号"任务在 2 月不执行?
正常行为。2 月没有 31 号,该月直接跳过,不会顺延到 3 月。同理,"每月 30 号"在 2 月也跳过。 - 日字段和周字段同时写了具体值,是"且"还是"或"?
大部分 cron 实现(包括 Vixie cron、busybox、Go 的 cron 库)都按"或"处理:任一字段满足就执行。例如0 0 1 * 1表示"每月 1 号或每周一"执行,而不是两者都满足。只有一个字段是具体值时,才按"且"处理。 - 为什么任务没执行,日志里也找不到?
先确认 crontab 里命令用的是绝对路径。crontab 环境的 PATH 极简,通常不含/usr/local/bin,你手动执行成功的命令在 cron 里可能找不到。另外记得检查 Cron 服务本身是否在运行。