`

转:Cron表达式指南

    博客分类:
  • JAVA
SUN 
阅读更多

Cron Expressions —— Cron 表达式

Cron 表达式被用来配置 CronTrigger 实例。 Cron 表达式是一个由 7 个子表达式组成的字符串。每个子表达式都描述了一个单独的日程细节。这些子表达式用空格分隔,分别表示:

 

1. Seconds

2. Minutes 分钟

3. Hours 小时

4. Day-of-Month 月中的天

5. Month

6. Day-of-Week 周中的天

7. Year (optional field) 年(可选的域)

一个 cron 表达式的例子字符串为 "0 0 12 ? * WED" , 这表示 每周三的中午 12 00

单个子表达式可以包含范围或者列表。例如:前面例子中的周中的天这个域(这里是 "WED" )可以被替换为 "MON-FRI", "MON, WED, FRI" 或者甚至 "MON-WED,SAT"

通配符( '*' )可以被用来表示域中 每个 可能的值。因此在 "Month" 域中的 * 表示每个月,而在 Day-Of-Week 域中的 * 则表示 周中的每一天

所有的域中的值都有特定的合法范围,这些值的合法范围相当明显,例如:秒和分域的合法值为 0 59 ,小时的合法范围是 0 23 Day-of-Month 中值得合法凡范围是 0 31 ,但是需要注意不同的月份中的天数不同。月份的合法值是 0 11 。或者用字符串 JAN,FEB MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV DEC 来表示。 Days-of-Week 可以用 1 7 来表示( 1= 星期日)或者用字符串 SUN, MON, TUE, WED, THU, FRI SAT 来表示 .

'/' 字符用来表示值的增量,例如 , 如果分钟域中放入 '0/15' ,它表示 每隔 15 分钟,从 0 开始 ,如果在份中域中使用 '3/20' ,则表示 小时中每隔 20 分钟,从第 3 分钟开始 或者另外相同的形式就是 '3,23,43'

'?' 字符可以用在 day-of-month day-of-week 域中,它用来表示 没有指定值 。这对于需要指定一个或者两个域的值而不需要对其他域进行设置来说相当有用。看下面例子(以及 CronTrigger JavaDOC )会更清楚。

'L' 字符可以在 day-of-month day-of-week 中使用,这个字符是 "last" 的简写,但是在两个域中的意义不同。例如,在 day-of-month 域中的 "L" 表示这个月的最后一天,即,一月的 31 日,非闰年的二月的 28 日。如果它用在 day-of-week 中,则表示 "7" 或者 "SAT" 。但是如果在 day-of-week 域中,这个字符跟在别的值后面,则表示 " 当月的最后的周 XXX" 。例如: "6L" 或者 "FRIL" 都表示本月的最后一个周五。当使用 'L' 选项时,最重要的是不要指定列表或者值范围,否则会导致混乱。

'W' 字符用来指定距离给定日最接近的周几(在 day-of-week 域中指定)。例如:如果你为 day-of-month 域指定为 "15W", 则表示 距离月中 15 号最近的周几

'#' 表示表示月中的第几个周几。例如: day-of-week 域中的 "6#3" 或者 "FRI#3" 表示 月中第三个周五

下面是一些表达式以及它们的含义,你可以在 CronTrigger JavaDOC 中找大更多例子。

 

Example Cron Expressions —— Cron 表达式的例子

CronTrigger 1 – 一个简单的每隔 5 分钟触发一次的表达式

"0 0/5 * * * ?" CronTrigger 2 – 在每分钟的 10 秒后每隔 5 分钟触发一次的表达式 ( 例如 . 10:00:10 am, 10:05:10 .)

"10 0/5 * * * ?" CronTrigger 3 – 在每个周三和周五的 10 30 11 30 12 30 触发的表达式。

"0 30 10-13 ? * WED,FRI" CronTrigger 4 – 在每个月的 5 号, 20 号的 8 点和 10 点之间每隔半个小时触发一次且不包括 10 点,只是 8 30 9 00 9 30 的表达式。

"0 0/30 8-9 5,20 * ?" 注意,对于单独触发器来说,有些日程需求可能过于复杂而不能用表达式表述,例如: 9 00 10 00 之间每隔 5 分钟触发一次,下午 1 00 10 点每隔 20 分钟触发一次。这个解决方案就是创建两个触发器,两个触发器都运行相同的任务。

 

这里面的0/30,不明白到底是否包含0这个点,在例4中不包含,在2中,应该就包含了,不明白

分享到:
评论

相关推荐

    webscheduler:任务的Web调度程序

    支持cron表达式作为作业触发器 在线重新加载系统配置 入门指南 下载或克隆项目源 git clone https://github.com/daileyet/webscheduler.git 转到项目源directoty(/ pathtodownload / webscheduler / src / main / ...

    当当网开源的分布式作业调度组件 Elastic-Job.zip

    elastic-job和ddframe关系见下图Elastic-Job 主要功能定时任务: 基于成熟的定时任务作业框架Quartz cron表达式执行定时任务。作业注册中心: 基于Zookeeper和其客户端Curator实现的全局作业注册控制中心。用于注册...

    shell 编程指南pdf

    3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 ...

    LINUX与UNIX SHELL编程指南(很全)

    3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 ...

    Linux与unix shell编程指南

    3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 ...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 ...

    Ubuntu权威指南(2/2)

    《Ubuntu权威指南》目录 目 录 第1章 系统概述与安装 1 1.1 Linux的兴起与发展 2 1.2 充分利用网上资源 3 1.2.1 Ubuntu官方网站 3 1.2.2 GNU网站 4 1.2.3 Linux文档项目网站 4 1.2.4 网上求助 5 1.3 随时查询随机...

    单点登录源码

    单点登录, SSM框架公共模块 ├── zheng-admin -- 后台管理模板 ├── zheng-ui -- 前台thymeleaf模板[端口:1000] ├── zheng-config -- 配置中心[端口:1001] ├── zheng-upms -- 用户权限管理系统 ...

    linux与unix shell编程指南.rar

    linux/unix shell编程指南,全面介绍了Linu/unix shell编程的常用知识和技巧,是不可多得的编程宝典。 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限...

    LINUX 与 UNIX SHELL编程指南

    3.1 cron 和 crontab 22 3.1.1 crontab 的域 22 3.1.2 crontab 条目举例 23 3.1.3 crontab 命令选项 23 3.1.4 创建一个新的 crontab 文件 24 3.1.5 列出 crontab 文件 24 3.1.6 编辑 crontab 文件 24 3.1.7 ...

    LINUX与UNIX SHELL编程指南

    3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 ...

    linux与unix shell编程指南

    3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 ...

    LINUX与UNIX_Shell编程指南

    详细的介绍了Linux下的编程指南 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对...

    Linux shell编程指南

    3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 ...

    LINUX与UNIX+SHELL编程指南

    3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 ...

Global site tag (gtag.js) - Google Analytics