Cron表达式与实际应用场景

简介: Cron的历史可以追溯到UNIX操作系统的早期。Cron(来自希腊语"chronos",意为时间)是一种用于在预定时间执行计划任务的实用程序。起源: Cron最早出现在1970年代早期的UNIX系统中。它的目的是为了在多用户的UNIX环境中,通过预定任务的执行时间来减轻系统资源的压力。基本原理: Cron使用简单的文本文件(通常称为crontab文件)来存储和管理任务的调度信息。每个用户都有自己的crontab文件,其中包含他们的定时任务。语法演变: Cron表达式的语法在演变过程中有所修改,但基本原理一直保持不变。最初的版本可能较为简单,但后来的变化使得Cron

Cron 表达式 简介

Cron的历史可以追溯到UNIX操作系统的早期。Cron(来自希腊语"chronos",意为时间)是一种用于在预定时间执行计划任务的实用程序。

起源: Cron最早出现在1970年代早期的UNIX系统中。它的目的是为了在多用户的UNIX环境中,通过预定任务的执行时间来减轻系统资源的压力。

基本原理: Cron使用简单的文本文件(通常称为crontab文件)来存储和管理任务的调度信息。每个用户都有自己的crontab文件,其中包含他们的定时任务。

语法演变: Cron表达式的语法在演变过程中有所修改,但基本原理一直保持不变。最初的版本可能较为简单,但后来的变化使得Cron表达式更加灵活和强大。

标准化: 随着时间的推移,Cron的标准化得到了改进,以确保在不同的UNIX系统和类UNIX系统上的一致性。这有助于使Cron在各种环境中更易于使用和维护。

广泛应用: 由于其简单性和高度可定制性,Cron在UNIX、Linux等操作系统以及其他类UNIX系统中广泛应用。同时,许多其他系统和工具也采用了Cron的概念,提供类似的定时任务调度功能。

Cron 表达式 语法

Cron 表达式的语法包括五个时间字段,用空格分隔。这五个字段分别表示分钟、小时、天、月、星期。每个字段都可以包含单个数字、一系列数字、通配符 * 或者通过逗号 , 分隔的数字列表。以下是 Cron 表达式的基本语法

* * * * *
| | | | |
| | | | +-- 星期几 (0 - 7) (星期天可以用0或7表示)
| | | +---- 月份 (1 - 12)
| | +------ 天 (1 - 31)
| +-------- 小时 (0 - 23)
+---------- 分钟 (0 - 59)
通配符 * 表示每次都匹配

每分钟触发一次:

* * * * *

每小时的30分钟触发一次:

30 * * * *

每天的午夜触发一次:

0 0 * * *

每周的星期一的午夜(0点0分)触发一次:

0 0 * * 1

每月的第1天的午夜(0点0分)触发一次:

0 0 1 * *

每隔2小时触发一次:

0 */2 * * *

分配负载

在Jenkins的Cron表达式中,H 表示“Hashed值”。这是一个特殊的标记,用于在定期执行的任务中尽量均匀地分配负载,避免在特定时间点触发大量任务造成系统负载过重的情况。

举例来说,如果你有多个任务需要在同一时间点执行,使用 H 符号可以让这些任务尽量分散到不同的时间点执行,而不是同时触发,从而降低了系统在某个特定时刻的负载压力。

每分钟触发一次:

H * * * *

每小时的30分钟触发一次:

H 30 * * *

每天的午夜触发一次:

H 0 * * *

每周的星期一的午夜(0点0分)触发一次:

H 0 * * 1

每月的第1天的午夜(0点0分)触发一次:

H 0 1 * *

每隔2小时触发一次:

H */2 * * *
目录
相关文章
|
7月前
|
调度
【Cron表达式】cron表达式详细介绍以及常用的例子
【Cron表达式】cron表达式详细介绍以及常用的例子
285 0
|
4月前
|
消息中间件 Java 中间件
定时任务的六种策略
这篇文章,我们聊聊实现定时任务的六种策略。
|
8月前
|
消息中间件 算法 Java
定时任务实现方案总结
定时任务实现方案总结
59 0
定时任务实现方案总结
|
9月前
|
运维 调度 开发者
深入解析 Cron 表达式:定时任务的时间艺术
大家好,今天我们将一起来深入了解 Cron 表达式,这是计划任务中不可或缺的时间表达式。无论你是一名开发者、运维工程师还是对定时任务感兴趣的读者,本文都将帮助你理解 Cron 表达式的基本结构、常用格式以及如何编写自定义的定时任务。也为大家提供了一个在线cron表达式生成的工具,让我们开始探索这项定时任务的时间艺术吧!
557 0
深入解析 Cron 表达式:定时任务的时间艺术
|
10月前
|
关系型数据库 MySQL 调度
定时任务优化
简单描述一下定时任务的优化
101 0
|
11月前
|
负载均衡 Java 数据挖掘
定时任务实现的几种方式
定时任务实现的几种方式
239 1
|
11月前
|
调度
【解决方案 二十】作业调度系统cron表达式详解
【解决方案 二十】作业调度系统cron表达式详解
51 0
常用Cron表达式整理
每天凌晨2点 0 0 2 * * ?和每天隔一小时 0 * */1 * * ?
|
缓存 Java 数据处理
定时任务调度springTask和cron表达式
定时任务调度springTask和cron表达式
198 0
定时任务调度springTask和cron表达式
SpringSchedule - 定时任务(参数示例:Cron表达式)
SpringSchedule - 定时任务(参数示例:Cron表达式)
141 0