当前位置:首页 > 技术 > 正文内容

XXL-Job 定时任务的 Cron 表达式解析

访客 技术 2026年8月25日 3

XXL-Job 框架使用的 Cron 表达式由七个字段组成,用于定义任务的执行调度。这些字段依次代表:秒、分、时、日、月、星期、年(可选)。


秒 分 时 日 月 周 年(可选)
*/5 * * * * ?

各个字段的取值范围和允许的特殊字符如下:

  • :0-59,支持 `,`, `-`, `*`, `/`
  • :0-59,支持 `,`, `-`, `*`, `/`
  • :0-23,支持 `,`, `-`, `*`, `/`
  • :1-31,支持 `,`, `-`, `*`, `?`, `/`, `L`, `W`, `C`
  • :1-12 或 JAN-DEC,支持 `,`, `-`, `*`, `/`
  • :1-7 (1 代表周日) 或 SUN-SAT,支持 `,`, `-`, `*`, `?`, `/`, `L`, `C`, `#`
  • :1970-2099,支持 `,`, `-`, `*`, `/` (此字段可选,留空表示不限制)

特殊字符详解:

  • *:匹配所有可能的值。
  • ?:表示不指定值,通常用于日或周字段,当其中一个已指定其他字段时使用。
  • -:指定一个范围,例如 `10-20` 表示从10到20。
  • ,:分隔多个可能的值,例如 `MON,WED,FRI` 表示周一、周三、周五。
  • /:用于增量赋值,例如 `*/5` 在秒字段表示每隔5秒执行一次,在分字段表示每隔5分钟执行一次。
  • L:表示一个范围内的最后一天或最后一个工作日,或最后一个星期几。
  • W:指定一个工作日(周一到周五)。
  • C:表示计算。
  • #:用于指定月份中的第几周的星期几,例如 `6#3` 表示该月的第三个星期五。

以下是一些 Cron 表达式的常见示例:


// 示例 1: 每隔5秒执行一次
*/5 * * * * ?

// 示例 2: 每隔1分钟执行一次
0 */1 * * * ?

// 示例 3: 每天的5点到15点整点触发
0 0 5-15 * * ?

// 示例 4: 每三分钟触发一次
0 0/3 * * * ?

// 示例 5: 每天下午2点到2点05分之间的每1分钟触发
0 0-5 14 * * ?

// 示例 6: 每天下午2点到2点55分之间的每5分钟触发
0 0/5 14 * * ?

// 示例 7: 每天下午2点到2点55分以及下午6点到6点55分之间的每5分钟触发
0 0/5 14,18 * * ?

// 示例 8: 工作日(9点到17点)期间,每半小时触发一次
0 0/30 9-17 * * ?

// 示例 9: 每天的上午10点、下午2点、下午4点触发
0 0 10,14,16 * * ?

// 示例 10: 每周三中午12点触发
0 0 12 ? * WED

// 示例 11: 每周二、四、六下午五点触发
0 0 17 ? * TUES,THUR,SAT

// 示例 12: 每年三月的星期三,下午2点10分和2点44分触发
0 10,44 14 ? 3 WED

// 示例 13: 周一至周五的上午10点15分触发
0 15 10 ? * MON-FRI

// 示例 14: 每月最后一天23点触发
0 0 23 L * ?

// 示例 15: 每月最后一日的上午10点15分触发
0 15 10 L * ?

// 示例 16: 每月的最后一个星期五上午10点15分触发
0 15 10 ? * 6L

// 示例 17: 2005年,每天上午10点15分触发
0 15 10 * * ? 2005

// 示例 18: 2002年至2005年,每月的最后一个星期五上午10点15分触发
0 15 10 ? * 6L 2002-2005

// 示例 19: 每月的第三个星期五上午10点15分触发
0 15 10 ? * 6#3

// 示例 20: 每半分钟触发任务 (注意:XXL-Job 的秒字段是必需的)
30 * * * * ?

// 示例 21: 每小时的10分30秒触发任务
30 10 * * * ?

// 示例 22: 每天1点10分30秒触发任务
30 10 1 * * ?

// 示例 23: 每月20号1点10分30秒触发任务
30 10 1 20 * ?

// 示例 24: 每年10月20号1点10分30秒触发任务
30 10 1 20 10 ? *

// 示例 25: 2011年10月20号1点10分30秒触发任务
30 10 1 20 10 ? 2011

// 示例 26: 2011年10月,每天1点10分30秒触发任务
30 10 1 ? 10 * 2011

// 示例 27: 2011年10月,每周日1点10分30秒触发任务
30 10 1 ? 10 SUN 2011

// 示例 28: 每15秒、30秒、45秒时触发任务
15,30,45 * * * * ?

// 示例 29: 15秒到45秒之间,每秒都触发任务
15-45 * * * * ?

// 示例 30: 每分钟的第15秒开始,每隔5秒触发一次
15/5 * * * * ?

// 示例 31: 每分钟的15秒到30秒之间,每隔5秒触发一次
15-30/5 * * * * ?

// 示例 32: 每小时的第0分0秒开始,每三分钟触发一次
0 0/3 * * * ?

// 示例 33: 星期一到星期五的10点15分0秒触发任务
0 15 10 ? * MON-FRI

// 示例 34: 每个月最后一天的10点15分0秒触发任务
0 15 10 L * ?

// 示例 35: 每个月最后一个工作日的10点15分0秒触发任务
0 15 10 LW * ?

// 示例 36: 每个月最后一个星期四的10点15分0秒触发任务
0 15 10 ? * 5L

// 示例 37: 每个月第三周的星期四的10点15分0秒触发任务
0 15 10 ? * 5#3

您可以使用在线 Cron 表达式生成器来辅助创建和验证您的表达式:http://cron.qqe2.com/

标签: XXL-Job

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。