Cron表达式

news/2024/10/6 10:33:35

Cron表达式是一种用于描述定时任务执行时间的字符串格式,在Unix、Linux、Mac OS X等操作系统中被广泛使用。它通过一系列的时间字段来描述一个定时任务应该在哪些时间点执行。

它通常由6~7位组成,年份可以省略。每个时间字段都可以是数字、星号、逗号、减号、正斜杠和问号这些特殊字符的组合。

基本语法

 Cron的各个字段含义及取值范围

位数 含义 取值范围
1 0~59(5位的时候,可以省略)
2 0~59
3 0~23
4 1-31
5 1-12
6 星期 0-6(0表示周日)
7
1970 - 2099(可选)

 每个字段,可以用特殊的字符来表示一些特定的取值。

* 匹配所有的值。在分钟、小时、日期、月份和星期中使用时,表示“每个”或“任何”
? 只能在日期和星期中使用,表示“无意义”或“不适用”。例如,如果您想在每月的第一天执行任务,但无论这一天是星期几,可以将日期字段设置为1,将星期字段设置为?
- 指定一个范围。例如,1-5表示1到5的值
, 指定多个值。例如,MON,WED,FRI表示星期一、星期三和星期五
/ 指定一个增量。例如,0/5表示从0秒开始,每5秒执行一次
L 只能在日期和星期中使用。在日期字段中,表示这个月的最后一天;在星期字段中,表示这个月的最后一个星期几。例如,L在日期字段中表示每个月的最后一天,5L表示这个月的最后一个星期五
W 只能在日期字段中使用,表示最近的工作日(周一至周五)。“W”可以和具体的日期或者“L”连用,例如15W表示这个月的第15个工作日,LW表示这个月的最后一个工作日
# 只能在星期字段中使用,表示这个月的第几个星期几。例如,2#1表示这个月的第一个星期二

注意:在Cron表达式中,要保证各个字段的取值之间没有冲突,否则定时任务可能无法按照预期执行。

常见表达式示例

0 6 * * *
每天6点执行一次
30 * * * *
每小时第30分钟执行一次
*/5 * * * *
每隔5分钟执行一次
0 7 1 * *
每月的第一天早上7点执行一次
0 15 * * 0
每周的周日下午3点执行一次
0 5 1 1 *
每年的1月1日早上5点执行一次
*/30 8-17 * * 1-5
每个工作日早上8点到下午5点之间,每隔30分钟执行一次

 

表达式的高级用法

使用通配符

通配符可以在任何字段中使用,表示匹配所有可能的值。在分钟和小时字段中,""表示匹配0到59和0到23的所有值,而在日和月字段中,""表示匹配1到31和1到12的所有值。在周几字段中,"*"表示匹配0到6,其中0表示周日,1表示周一,以此类推。

使用时间增量

时间增量可以在任何字段中使用,表示从指定的起始时间开始,每隔一定时间执行任务。在分钟和小时字段中,"/"后面的数字表示增量,例如"/5"表示每隔5分钟执行一次任务。在日和月字段中,"/"后面的数字表示间隔的天数或月数,例如"/2"表示每隔2天执行一次任务。在周几字段中,"/"后面的数字表示间隔的周数,例如"*/3"表示每隔3周执行一次任务。

使用将多个表达式组合

可以使用逗号和连字符将多个表达式组合在一起,以指定更复杂的时间表。例如,"0 8-12,14-18 * * *"表示每天的8:00到12:00和14:00到18:00之间执行任务。另外,可以使用括号来分组表达式,以便更精细地控制任务的执行时间。例如,"(0 10 * * 1-5),(0 16 * * 1-5)"表示每周一至周五的10:00和16:00执行任务。

当然,如果忘记了cron规则,可以用在线工具:https://cron.qqe2.com/。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/54654.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

基于 Quanto 和 Diffusers 的内存高效 transformer 扩散模型

过去的几个月,我们目睹了使用基于 transformer 模型作为扩散模型的主干网络来进行高分辨率文生图 (text-to-image,T2I) 的趋势。和一开始的许多扩散模型普遍使用 UNet 架构不同,这些模型使用 transformer 架构作为扩散过程的主模型。由于 transformer 的性质,这些主干网络表…

opc da 服务器数据 转IEC61850项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 应用条件 2 4 查看OPC DA服务器的相关参数 2 5 配置网关采集opc da数据 4 6 用IEC61850协议转发数据 6 7 网关使用多个逻辑设备和逻辑节点的方法 9 8 在服务器上运行仰科OPC DA采集软件 10 9 案例总结 12 1 案例说明在OPC DA服务器上…

电科校园邮箱系统逻辑漏洞

校园邮件系统逻辑漏洞导致邮件轰炸 邮件轰炸 首先通过自己的账号登录进入邮件系统之后,进入到信息修改的界面发现存在邮箱绑定功能,在尝试绑定自己的邮箱之后,可以看到存在提示“找回密码时可以使用备用邮箱找回”。输入邮箱密码之后进入到下一个页面在此页面完成邮箱绑定,…

基于surging 如何利用peerjs进行语音视频通话

一 、 概述 PeerJS 是一个基于浏览器WebRTC功能实现的js功能包,简化了WebrRTC的开发过程,对底层的细节做了封装,直接调用API即可,再配合surging 协议组件化从而做到稳定,高效可扩展的微服务,再利用RtmpToWebrtc 引擎组件可以做到不仅可以利用httpflv 观看rtmp推流直播,还可…

gitee误删项目,重新上传

删除项目更目录.git 解除绑定

pinpoint-php-aop 内部原理

pinpoint-php-aop 是一个支持pinpoint-php agent 的库自动注入PHP内置函数,比如redis,pdo,mysqli 自动注入用户类,比如 guzzlehttp, predis怎样处理内置函数内置函数解释:PHP comes standard with many functions and constructs. There are also functions that require…

从代码到产品,我的IT职业成长之路

每个人的职业生涯都是一段充满转折和挑战的旅程,当然每一次职业转型都是一次重新定义自己的机会,从2015年开始,当时我刚踏入IT行业,成为一名Java开发者,后来随着时间的推移,我的职业方向逐渐转向了前端开发者,埋头于代码的世界。最终在2018年找到了属于自己的职业定位—…

1-0.AI工具

1-0.AI工具 一. 我知道或使用过的AI大模型平台 1. OpenAI 平台: OpenAI GPT 特点: 提供先进的自然语言处理能力,支持对话生成、文本总结、翻译等。包括GPT-3、GPT-4等版本。 2. Google AI 平台: Google Cloud AI 特点: 提供全面的AI和机器学习服务,包括AutoML、自然语言处理、…