cron表达式语法规则及常见示例

简介: cron表达式语法规则及常见示例

cron表达式产生的背景

cron表达式最初是由Unix操作系统中的cron守护进程所使用的一种语法规则,用于设置定时任务。cron守护进程是Unix系统中的一个后台进程,用于周期性地执行指定的命令或脚本。它可以根据用户的需求,按照指定的时间间隔或时间点来执行任务,通常用于定时备份、清理日志、发送邮件等操作。


为了方便用户设置定时任务,cron守护进程引入了一种简单的语法规则,即cron表达式。cron表达式由6个字段组成,分别表示秒、分、小时、日期、月份和星期几。每个字段都可以设置一个数字、一组数字(用逗号分隔)、一段数字范围(用短横线分隔)、通配符(表示任意值)或者特定的字符(如星期几的英文缩写)。通过这种语法规则,用户可以非常灵活地设置定时任务,满足不同的需求。


随着Unix操作系统的普及和互联网的发展,cron表达式逐渐成为了一种通用的定时任务设置语法,被广泛应用于各种计算机系统和应用程序中。目前,cron表达式已经成为了计算机科学中的一个基本概念,被包括Java、Python、Ruby等编程语言在内的许多软件框架和库所支持和应用。


什么是cron表达式

cron表达式是一种用于设置定时任务的语法规则。它由6个字段组成,分别表示秒、分、小时、日期、月份和星期几。每个字段都可以设置一个数字、一组数字(用逗号分隔)、一段数字范围(用短横线分隔)、通配符(表示任意值)或者特定的字符(如星期几的英文缩写)。以下是cron表达式的语法规则:


* * * * * *
- - - - - -
| | | | | |
| | | | | +--- 星期几 (0 - 6) (0表示周日)
| | | | +----- 月份 (1 - 12)
| | | +------- 日期 (1 - 31)
| | +--------- 小时 (0 - 23)
| +----------- 分钟 (0 - 59)
+------------- 秒 (0 - 59)

常见示例

下面是10个cron表达式的示例,以及它们的含义:


  1. 0 0 0 * * ?:每天的零点整执行任务。
  2. 0 0 */2 * * ?:每隔2小时执行一次任务。
  3. 0 0 12 * * ?:每天中午12点执行任务。
  4. 0 15 10 * * ?:每天上午10点15分执行任务。
  5. 0 0 6,18 * * ?:每天的早上6点和晚上6点执行任务。
  6. 0 0/30 8-18 * * ?:每天的上午8点到下午6点之间,每隔30分钟执行一次任务。
  7. 0 0 0 1 1 ?:每年的1月1日零点整执行任务。
  8. 0 0 0 * * 2:每周的星期二零点整执行任务。
  9. 0 0 0 ? * 6#3:每月的第三个星期六零点整执行任务。
  10. 0 0 0 L * ?:每个月的最后一天零点整执行任务。

这些示例只是cron表达式的一小部分,实际上还有很多其他的用法和组合方式。需要根据具体需求来设置定时任务。

目录
相关文章
|
开发工具 git
【Cron表达式】基于Vue2及Element的Cron时间表达式生成器
首先感谢两位开源作者的奉献(ldang264),(1615450788)以下代码功能项,全部基于这两个开源库所做的合集。并增加了部分功能项,删减了中英切换等
【Cron表达式】基于Vue2及Element的Cron时间表达式生成器
|
2月前
正则表达式的常用示例
正则表达式的常用示例
35 3
|
6月前
部分循环语句书写格式
部分循环语句书写格式
|
调度
【Cron表达式】cron表达式详细介绍以及常用的例子
【Cron表达式】cron表达式详细介绍以及常用的例子
2134 1
|
7月前
|
C语言
占位符列举
该文本是关于C语言格式化输出的说明,包括 `%` 转义字符的各种用法: `%c` 表示字符, `%s` 代表字符串, `%d/i` 用于十进制整数, `%f` 处理小数, `%e/E/g` 用科学记数法表示浮点数, `%o` 输出八进制, `%x` 输出十六进制, `%p` 用于指针, `%n` 记录已输出字符数,以及不同整数类型的变体如 `%hd`, `%lu`, `%lld`, `%llx` 等。还有 `%zu` 对应 `size_t` 类型,`%%` 输出百分号本身。内容遵循 CC 4.0 BY-SA 版权协议。
59 0
|
7月前
|
数据可视化 JavaScript 前端开发
Cron表达式(七子表达式)
Cron表达式(七子表达式)
181 1
|
7月前
|
Java 数据格式 Spring
详解YAML语法及占位符语法
设计了一个YAML数据结构来表示家庭信息,包括家庭名、父亲、母亲和孩子。父亲有名字和年龄,母亲有别名,孩子有名字、年龄和朋友列表,每个朋友有爱好和性别。字符串可以用单引号或双引号,双引号会转义特殊字符。YAML支持松散的键绑定。Spring Boot配置文件中,占位符可用于设置随机数,如${random.int},并可提供默认值,如${family.father.name:zimug}。
263 0
|
7月前
|
C#
C# 布尔值和条件语句:入门指南和实用示例
在编程中,通常需要一个只能有两个值之一的数据类型,比如: 是 / 否 开 / 关 真 / 假 为此,C# 有一个 bool 数据类型,可以取 true 或 false 的值。
117 3
|
7月前
|
SQL 数据库
SQL LIKE 运算符:用法、示例和通配符解释
SQL中的LIKE运算符用于在WHERE子句中搜索列中的指定模式。通常与LIKE运算符一起使用的有两个通配符: 百分号 % 代表零个、一个或多个字符。 下划线 _ 代表一个单个字符。 以下是LIKE运算符的用法和示例:
386 0
|
运维 调度 开发者
深入解析 Cron 表达式:定时任务的时间艺术
大家好,今天我们将一起来深入了解 Cron 表达式,这是计划任务中不可或缺的时间表达式。无论你是一名开发者、运维工程师还是对定时任务感兴趣的读者,本文都将帮助你理解 Cron 表达式的基本结构、常用格式以及如何编写自定义的定时任务。也为大家提供了一个在线cron表达式生成的工具,让我们开始探索这项定时任务的时间艺术吧!
1138 0
深入解析 Cron 表达式:定时任务的时间艺术