Cron 表达式工具
读懂定时任务规则,检查未来执行时间。所有计算均在浏览器本地完成。
表达式解析与执行预览
分钟 小时 日期 月份 星期(五段格式)
正在计算执行时间…
仅在浏览器本地计算,不创建定时任务。预览时区不会修改服务器时区;夏令时行为还需以目标调度器为准。
五段 Cron 语法速查
分钟 小时 日期 月份 星期,例如 0 9 * * 1-5 表示周一至周五 09:00 执行。
| 字段 | 范围 | 支持符号 |
|---|---|---|
| 分钟 | 0—59 | * , - / |
| 小时 | 0—23 | * , - / |
| 日期 | 1—31 | * , - / |
| 月份 | 1—12 | * , - / |
| 星期 | 0—7(0、7 均为周日) | * , - / |
* 匹配所有取值;逗号枚举,如 1,15;连字符表示范围,如 1-5;斜杠表示字段内步长,如 */5。步长每到新字段周期重新计算,不代表固定时长倒计时。
8 个常用定时任务示例
- 每分钟
* * * * * - 每一分钟开始时执行。
- 每 5 分钟
*/5 * * * * - 每小时第 0、5、10…55 分钟执行,不是从保存时刻起计时。
- 每小时
0 * * * * - 每小时整点执行。
- 每天零点
0 0 * * * - 每天 00:00 执行,以所选时区为准。
- 每天凌晨 2 点
0 2 * * * - 每天 02:00 执行,适合安排低峰期任务。
- 工作日 9 点
0 9 * * 1-5 - 每周一至周五 09:00 执行,不包含法定节假日判断。
- 每周一 9 点
0 9 * * 1 - 每周一 09:00 执行。
- 每月 1 日零点
0 0 1 * * - 每月第一天 00:00 执行。
常见问题
Linux Cron 与 Quartz 有什么区别?
Linux crontab 通常使用五个时间字段;Quartz 通常包含秒和可选年份,并支持 ?、L、W、# 等扩展。本工具只支持数字五段格式,不支持扩展字符、英文月份或 @reboot 等宏。
执行时间以哪个时区为准?
实际任务取决于服务器和调度器的时区配置。这里默认浏览器时区,可切换 Asia/Shanghai 或 UTC。工具不会设置服务器的 CRON_TZ。夏令时跳时、重复时段的处理可能因调度器而异,部署前应核对。
日期与星期同时指定是“且”还是“或”?
标准 Linux Cron 在日期和星期均受限时采用“或”。例如 0 9 1 * 1 表示每月 1 日以及每周一 09:00,而不是只在恰好为周一的月初执行。若其中一个以 * 开头(包括 */n),按对应通配规则共同匹配。
表达式正确,任务为什么没有执行?
检查 cron 服务状态、执行用户、脚本权限、绝对路径、环境变量和日志。用户 crontab 不填写用户名,/etc/crontab 通常还需要用户名列。预览只验证时间规则,不验证命令能否运行;超过预览范围的稀疏计划不会显示满 10 次。