`

Cron Expression语法

阅读更多

前言

Cron表达式常被用于设置触发时间,比如Quartz中。写这篇的目的是配置Jenkins中Build periodically(定时构建)和Poll SCM(扫描SCM发生改变后构建),结果发现用的不是Cron后面有说明

 

Cron Expression配置说明

1.Cron Expression字符串格式

Cron Expression字符串的格式为“秒 分 小时 日 月 星期 年”,其中“年”是可选的,其余6个字段是必须的,每个字段间用空格隔开,可以用数字表示(数字表示精确匹配),也可以yongoing通配符表示(例如*表示任意数字,?表示由其它字段决定)

 

 

2.Cron Expression 取值范围

字段 取值范围  可接受通配符
0-59 , - * /
0-59 , - * /
小时 0-23 , - * /
1-31 , - * / ? L C W
1-12 或者JAN-DEC , - * /
星期 1-7 或者 SUN-SAT(1表示周日,7表示周六) , - * / ? L C #
年(可选) 1970-2099 , - * /

 

3.通配符说明

通配符 可用于字段 说明
? 日、星期 由其它字段确定,比如确定了年月日后星期是固定的,此时必须用?
* 所有字段 任意数字
- 所有字段 表示范围例如MON-FRI表示周一到周五的所有工作日
, 所有字段 表示多个值,比如MON,WED,表示周一或周三
/ 所有字段 表示数值的增度。例如 1/3表示从1开始,每次递增3,“1,4,7,10...”
L 日、星期 表示Last,最后一个的意思,代表月末或周六(根据放的位置)
C 日、星期 表示Calendar,由日历计算出来的日子,5C表示第一天或5号之后;星期中1C代表日历中第一天或周日以后(1表示周日)
W 表示Working Day,工作日;例如15W,表示本月内15日最近的工作日,返回的一定是本月内。
# 星期  表示第几个星期几,THU#3,表示第三个星期四,#前面是星期,后面是第几个

 

4.例子

59 59 12 01 01 ?    // 精确匹配,表示 1月1日12点59分59秒,星期?

0 0 12 * * ?    // 模糊匹配,表示 每天的12点,星期?

0 0 * 01 01 ?    // 模糊匹配,表示每年1月1日的每个整点

0 0 0 * * ? 2010 // 模糊匹配,表示2010年每天0时

0 0 * * * ?    // 每天每个小时

0 30 10 ? * MON    // 每周一上午10:30

0 0 12 ? * MON-FRI    // 每个工作日(周一到周五)的12:00

0 0 8 LW * ?    // 每月的最后一个工作日8:00

0 0 10 1/2 * ?    // 每月1号、3号、5号、7号... 的10:00

0 0 10 ? 11 THU#4    // 每年11月的第四个星期四(感恩节)上午10点

0 0 8,17 * * ? 2009-2015    //2009到2015年每天的8点和17点

0 0 8-17 * * ? 2009-2015    //2009到2015年每天的8点到17点

 

Jenkins中日期定义

1.字符串格式

Cron表达式字符串的格式为“分 小时 日 月 星期 年”,其中“年”是可选的,其余5个字段是必须的。

区别(1)没有秒 (2)星期的取值范围是0-6(SUN-SAT)

 

2.取值范围

字段 取值范围 通配符
0-59 * / , -
0-59 * / , -
1-31 * / , - ? L W
1-12 or JAN-DEC * / , -
星期 0-6 or SUN-SAT * / , - ? L #
1970–2099 * / , -

 

 

2.例子

*/5 * * * *   // 每5分钟

H/5 * * * *    // 每5分钟 推荐

5 * * * *    // 每小时的第5分钟 

0 8 * * *    // 每天8点

0 16,18,20,22 * * *    // 每天的16点、18点、20点、22点

0 1,18 * * *    // 每天的1点和18点

03 09 * * 1-5    // 工作日(周日到周五)的9点3分

59 23 * * 1-5 或者 @midnight     // 工作日(周日到周五)的9点3分

 

 

 

 

 

 

 

0
1
分享到:
评论

相关推荐

    Cron expression 校验 js版本

    Cron表达式的语法结构相对复杂,由六个或七个字段组成,每个字段代表不同的时间单位,从秒到星期,依次为:秒(0-59)、分钟(0-59)、小时(0-23)、日期(1-31)、月份中的星期(0-6,其中0和7代表周日)、月份(1...

    CronExpression一个cron表达式解析器

    在`mtdowling-cron-expression-3cc89f5`这个压缩包中,包含了CronExpression库的源代码。开发者可以通过阅读源代码,了解其实现细节和内部结构。这个版本可能包含了类定义、方法实现、单元测试等部分,有助于深入...

    cron-expression-1.0.zip

    cron-expression-1.0.zip是一个包含cron表达式相关工具的压缩包,主要提供Web版和EXE版本。cron表达式是Unix和Linux操作系统中的时间调度语法,广泛应用于自动化任务的计划,例如定时执行脚本或任务。这个工具可能是...

    cron中英文表达式

    它允许用户通过图形界面设定定时任务,然后自动生成对应的cron表达式,这对于非技术人员或者不熟悉cron语法的人来说非常有用。此外,库还支持本地化,可以适应不同语言环境。 使用`jquery-cron`时,你需要首先引入...

    Cron表达式解析 翻译为中英文.zip

    这类实体类通常会包含一些属性,如`expression`(Cron表达式字符串)、`nextExecutionTime`(下一个执行时间)等,以及相应的getter和setter方法。 3. **CronExpParserUtil.java**:这是一个工具类,很可能提供了...

    Java 写的Cron表达式解析

    文件"expression"可能是源代码或者测试数据,包含了实现上述功能的具体Java代码。如果要深入学习或修改这个项目,你需要查看代码来了解它的实现细节,包括如何处理用户输入、如何解析和验证Cron表达式,以及如何在...

    Cron表达式选择器JS插件

    Cron表达式是Unix系统中的一种时间调度语法,用于定义任务的执行计划。这个JS插件结合了BootStrap的样式,提供了一种直观且美观的界面,使得非技术人员也能轻松理解和配置Cron表达式。 ### Cron表达式详解 Cron...

    spring 定时器cron表达式生成

    2. 注解定时任务:在需要执行定时任务的方法上添加`@Scheduled(cron = "your_cron_expression")`。 ```java @Service public class MyTaskService { @Scheduled(cron = "0 30 8 * * ?") public void executeTask...

    java8看不到源码-cron-expression:Javacron表达式库

    看不到源码cron 表达式 该项目包含用于解析cron表达式和构建相应 Java 对象的代码。 它提供了一个用于检查cron表达式是否与java.time.ZonedDateTime对象匹配的小接口。 它提供了用于与java.util.concurrent集成的...

    cron4s:Scala的跨平台CRON表达式解析

    CRON是Unix/Linux系统中广泛使用的定时任务调度工具,通过特定的语法来定义周期性的任务。cron4s库使得在Scala环境下,无论是JVM还是Scala.js平台上,都能轻松地处理这些表达式。 ### 1. CRON表达式详解 CRON表达式...

    jquery-cronmaker:简单的Cron Maker jQuery插件

    console.log("Cron expression updated:", cronExpression); }); ``` ### 4. Cron表达式基础 Cron表达式由5到6个(或7个,包含年份)空格分隔的字段组成,每个字段代表不同的时间单位:秒、分钟、小时、日期、...

    \\(^_^)/ 表达式解析器(MVEL)

    - **简洁的语法**:MVEL语法简洁,类似于JavaScript,易于理解和编写。 - **动态类型**:MVEL是动态类型的,不需要预先声明变量的类型。 - **强大的表达式支持**:支持算术运算、比较操作、逻辑运算、字符串操作、...

    spring quartz 表达式生成器 网页版

    5. **应用到Spring**:在Spring中,你可以使用`@Scheduled(cron = "your-generated-expression")`注解来安排一个方法的执行,或者在配置文件中定义`<bean>`来创建` CronTrigger`。 理解Quartz表达式的关键点: - *...

    自动张贴

    5. **定时任务(Cron Job)**:如果要实现定期张贴,可能需要设置Linux的Cron Job或者PHP的计划任务调度器,如cron-expression库。 6. **数据库操作**:可能需要存储和检索待发布的帖子信息,这就需要用到SQL和PHP...

    用于WebJavaScript上的任务计划程序服务

    例如,Cron表达式是一种广泛使用的调度语法,用于定义在特定时间执行任务的模式。JavaScript库可能提供类似Cron的功能,让开发者能够用简洁的语法设定任务触发的时间点。 四、JSON封装 JSON(JavaScript Object ...

    利用shell find命令删除过期的缓存方法示例

    首先,了解find命令的基本语法。`find`命令通常用于在指定的目录下查找满足特定条件的文件。基本格式如下: ```bash find [path] [expression] [action] ``` 其中,`path`是开始搜索的目录,`expression`定义了...

    fontbot:选择单词,选择字体,鸣叫。 用Haskell编写的Twitter机器人

    通过使用Haskell,开发者能够利用该语言的强大功能和简洁语法来实现这个创新的应用。 首先,我们要了解Haskell。Haskell是一种纯函数式编程语言,它强调代码的数学性质,如可读性、可维护性和类型安全性。函数式...

    tf_aws_lambda_scheduled:用于创建计划定期运行的AWS Lambda函数的Terraform模块

    schedule_expression = "cron(0 12 * * ? *)" # 每天12点触发 } resource "aws_cloudwatch_event_target" "example" { rule = aws_cloudwatch_event_rule.example.name target_id = "example-target" arn = aws...

    UNIX操作系统培训教材

    - **定时执行程序**: 使用`at`或`cron`命令来安排任务。 **4.2 vi编辑器的最基本用法** - **启动**: `vi filename`。 - **退出**: `:q!`不保存退出,`:wq`保存并退出。 - **两种模式**: 命令模式和插入模式。 - **...

Global site tag (gtag.js) - Google Analytics