Cron Generator
Generate cron expressions with visual interface and preview
Browser-based processing, data never leaves your device
cron_field_min
cron_field_hour
cron_field_day
cron_field_month
cron_field_week
* * * * *
cron_desc_every_minute
cron_next_times
Cron 表达式语法参考
Cron 表达式是一种用于定义定时任务执行时间的字符串格式,广泛应用于 Linux/Unix 系统的 crontab、Java Quartz 调度器、以及各类任务调度平台。标准 Cron 表达式由 5 个空格分隔的字段组成,分别表示分钟、小时、日、月、星期。
Cron 字段说明
| 字段 | 允许值 | 特殊字符 |
|---|---|---|
| 分钟 (Minute) | 0 - 59 | * , - / |
| 小时 (Hour) | 0 - 23 | * , - / |
| 日 (Day of Month) | 1 - 31 | * , - / |
| 月 (Month) | 1 - 12 | * , - / |
| 星期 (Day of Week) | 0 - 6 (0=周日) | * , - / |
特殊字符含义
| 字符 | 含义 | 示例 |
|---|---|---|
| * | 匹配每个值,即每一个 | * * * * * = 每分钟 |
| , | 分隔多个值(列表) | 1,3,5 = 第1、3、5 |
| - | 表示范围 | 1-5 = 从1到5 |
| / | 表示步长/间隔 | */10 = 每隔10 |
常用 Cron 表达式示例
| 表达式 | 说明 |
|---|---|
* * * * * | 每分钟执行一次 |
*/5 * * * * | 每5分钟执行一次 |
0 * * * * | 每小时整点执行 |
0 0 * * * | 每天凌晨 00:00 执行 |
0 9 * * 1-5 | 工作日(周一至周五)上午9点执行 |
0 0 1 * * | 每月1号 00:00 执行 |
0 0 1 1 * | 每年1月1日 00:00 执行 |
0 */2 * * * | 每2小时执行一次 |
30 8,12,18 * * * | 每天 8:30、12:30、18:30 执行 |
0 0 * * 0 | 每周日 00:00 执行 |
常见问题
Cron 表达式和 Quartz 表达式有什么区别?
标准 Cron 使用 5 个字段(分、时、日、月、周),Quartz 调度器使用 6-7 个字段,增加了秒和可选的年份字段。本工具生成的是标准 5 字段 Cron 表达式,适用于 crontab、大多数 Linux 系统和各类任务调度平台。
如何设置每秒执行一次的任务?
标准 5 字段 Cron 表达式的最小精度为 1 分钟,无法设置秒级定时任务。如需每秒执行,可使用 Quartz 的 6 字段格式 * * * * * ?,或在 shell 脚本中结合 sleep 命令实现。
日和星期同时指定时是什么逻辑?
在标准 Cron 中,如果日和星期两个字段都不是通配符 *,则使用"或"逻辑:只要满足其中一个条件就会执行任务。例如 0 0 1 * 1 表示每月1号或每周一的 00:00 都会执行。