cron表达式介绍和使用

Cron表达式是一种用于配置定时任务的字符串,它由数字、字符和符号组成,用于指定任务在某个时间点或周期性地执行。其通常包含六个或七个字段,每个字段代表一个时间单位,如下表所示:

必须取值范围特殊字符
[0, 59]* , - /
分钟[0, 59]* , - /
小时[0, 23]* , - /
日期[1, 31]* , - / ? L W
月份[1, 12]或[JAN, DEC]* , - /
星期[1, 7]或[MON, SUN]。若使用[1, 7]表达方式,1代表星期一,7代表星期日。* , - / ? L #
年份1970+- * /

特殊字符

每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是:

  • *:表示匹配该域的任意值。假如在分钟使用 *, 即表示每分钟都会触发事件。

  • ?:只能用在日期和星期两个域。例如想在每月的20日触发调度,不管20日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?, 其中最后一位只能用?,而不能使用*,如果使用表示不管星期几都会触发,当然使用时将导致无法运行出结果。

  • -:表示范围。例如在分钟域中使用5-20,表示从5分到20分钟每分钟触发一次

  • /:表示起始时间开始触发,然后每隔固定时间触发一次。例如在分钟域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次.

  • ,:表示列出枚举值。例如:在分钟域使用5,20,则意味着在5和20分每分钟触发一次。L:表示最后,只能出现在日期和星期两个域。如果在星期域使用5L,意味着在最后的一个星期四触发。

  • W:表示有效工作日(周一到周五),只能出现在日期域,系统将在离指定日期的最近的有效工作日触发事件。例如:在 星期使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。如果5日是星期天,则在6日(周一)触发;如果5日在星期一到星期五中的一天,则就在5日触发。另外一点,W的最近寻找不会跨过月份 。

  • LW:这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。

  • #:用于确定每个月第几个星期几,只能出现在星期域。例如在4#2,表示某月的第二个星期三。

常用表达式例子

以下是一些常用的cron表达式示例,以及它们的含义:

  1. 0 0 * * * - 每天每小时的开始(即每小时的0分0秒)。
  2. 0 15 10 * * * - 每天上午10点15分。
  3. 0 0 12 * * ? - 每天中午12点整。
  4. 0 15 10 ? * MON-FRI - 工作日的上午10点15分。
  5. 0 0 12 1 * ? - 每年1月1日中午12点整。
  6. 0 0 12 12 * ? - 每年12月12日中午12点整。
  7. 0 0 12 Jan * ? - 每年1月的每天中午12点整。
  8. 0 15 10 * * ? - 每月的每天上午10点15分。
  9. 0 0 12 * * ? - 每周的每天中午12点整(注意:有些系统不支持在星期字段中使用问号,这时可以用“*”代替)。
  10. 0 5 14,18 * * ? - 每天的下午2点和6点,当分钟为5时触发。
  11. 0 0/5 14 * * ? - 每天下午2点开始,每隔5分钟触发一次。
  12. 0 0/5 14,18 * * ? - 每天的下午2点到2:55和下午6点到6:55之间,每隔5分钟触发一次。

应用场景

在这里插入图片描述

cron定时任务在Unix和类Unix系统(包括Linux)中被广泛使用。cron允许系统管理员和用户安排作业(命令或脚本)在特定时间自动执行,无需人工干预。以下是cron的一些应用场景:

  1. 定期备份:Cron可以用于自动执行备份脚本,确保数据定期复制到安全位置。这对于防止数据丢失至关重要,因为可以按照小时、日、周或月来设置备份任务。

  2. 系统维护任务:系统管理员可以使用Cron来安排定期的系统维护任务,如更新软件包、清理临时文件、检查磁盘空间、优化数据库等。

  3. 定时报告:企业可以利用Cron定时生成业务报告、分析报告或其他类型的报告,并在特定时间发送给相关人员。

  4. 内容更新:对于网站和博客,Cron可以用来定时发布文章或更新内容,使得内容管理系统能够自动化地按计划发布材料。

  5. 监控服务:Cron作业可以用来监控服务器和服务的状态,如果检测到问题,可以自动触发警告或者恢复程序。

  6. 日志轮转:Cron可以用于自动执行日志轮转,将旧的日志文件归档并开始新的日志记录周期。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索微信小程序的奇妙世界:从入门到进阶

文章目录 一、什么是微信小程序1.1 简要介绍微信小程序的定义和特点1.2 解释小程序与传统应用程序的区别 二、小程序的基础知识2.1 微信小程序的架构2.2 微信小程序生命周期的理解2.3 探索小程序的目录结构和文件类型 三、小程序框架和组件3.1 深入了解小程序框架的核心概念和原…

Qt之条件变量QWaitCondition详解

QWaitCondition内部实现结构图: 相关系列文章 C之Pimpl惯用法 目录 1.简介 2.示例 2.1.全局配置 2.2.生产者Producer 2.3.消费者Consumer 2.4.测试例子 3.原理分析 3.1.辅助函数CreateEvent 3.2.辅助函数WaitForSingleObject 3.3.QWaitConditionEvent …

服务降级(Sentinel)

服务降级 采用 SentinelResource 注解方式实现, 必要的 依赖必须引入 以及 切面Bean 接口代码 RequestMapping("/degrade")SentinelResource(value DEGRADE_RESOURCE_NAME, blockHandler "blockHandlerForDegrade",entryType EntryType.IN…

数学实验第三版(主编:李继成 赵小艳)课后练习答案(十)(2)(3)

实验十:非线性函数极值求解 练习二 1.求解极值问题: (1) s.t. function [c,ceq]fun(x) c(1)-(25-x(1)^2-x(2)^2); c(2)-(7-x(1)^2x(2)^2); ceq0;换一个窗口运行下面的程序: clc;clear; f(x)-2*x(1)-x(2); a[]; b[]; aeq[];beq[]; u[5;10]; l[0;0];…

Spring Cloud Hystrix 参数配置、简单使用、DashBoard

Spring Cloud Hystrix 文章目录 Spring Cloud Hystrix一、Hystrix 服务降级二、Hystrix使用示例三、OpenFeign Hystrix四、Hystrix参数HystrixCommand.Setter核心参数Command PropertiesFallback降级配置Circuit Breaker 熔断器配置Metrix 健康统计配置Request Context 相关参数…

React Native开发iOS实战录

文章目录 背景环境准备基础工具:xcode安装主要工具安装CocoaPods 基本步骤采用Expo go运行iOS模拟器运行安装在真机上测试发布到苹果商店 原生模块与编译链接问题静态库和 Frameworkuse_frameworks!和use_modular_headers! 常见问题ruby3在macOS上编译失败import of…

如何在Django中使用分布式定时任务并结合消息队列

如何在Django中使用分布式定时任务并结合消息队列 如何在Django中使用分布式定时任务并结合消息队列项目背景与意义实现步骤1. 安装Celery和Django-celery-beat2. 配置Celery3. 配置Django-celery-beat4. 定义定时任务5. 启动Celery worker 和 beat6. Celery 指令7. 对接消息队…

【数据结构】LRU Cache

文章目录 LRUCache LRUCache 1. LRUCache是一种缓存的替换技术,在CPU和main memory之间根据计算机的局部性原理,往往会采用SRAM技术来构建CPU和主存之间的高速缓存,DRAM(dynamic random access memory)用于构建主存,LRUCache这种…

WEB APIs(1)

变量声明const(修饰常量) const优先,如react,基本const, 对于引用数据类型,可用const声明,因为储存的是地址 何为APIs 可以使用js操作HTML和浏览器 分类:DOM(文档对象…

Golang快速入门到实践学习笔记

Go学习笔记 1.基础 Go程序设计的一些规则 Go之所以会那么简洁,是因为它有一些默认的行为: 大写字母开头的变量是可导出的,也就是其它包可以读取 的,是公用变量;小写字母开头的就是不可导出的,是私有变量…

[WinForm开源]概率计算器 - Genshin Impact(V1.0)

创作目的:为方便旅行者估算自己拥有的纠缠之缘能否达到自己的目的,作者使用C#开发了一款小型软件供旅行者参考使用。 创作说明:此软件所涉及到的一切概率与规则完全按照游戏《原神》(V4.4.0)内公示的概率与规则(包括保底机制&…

Virt a Mate(VAM)游戏折腾记录

如有更新见原文:https://blog.iyatt.com/?p13283 1 前言 如果在网上看到有些视频名字带有 VAM 的,可能就是玩这个游戏录屏的。这个游戏可以建模、操作模型动作、构建场景等等。之前大致知道有这么个东西,只是电脑配置太差了,新…

文件上传-第三方服务阿里云OSS

JAVA后端实现文件上传,比如图片上床功能,有很多实现方案,可以将图片保存到服务器的硬盘上。也可以建立分布式集群,专门的微服务来存储文件常见的技术比如Minio。对于中小型公司,并且上传文件私密性不高的话可以使用第三方的存储服务,比如阿里云、华为云等…

投资银行在网络安全生态中的作用

文章目录 一、投资银行的含义(一)并购买方。(二)并购卖方。(三)IPO辅助。(四)投资银行业务的另一方面是帮助这些交易融资。二、从投资银行角度看网络安全产业(一)行业的短期前景三、复杂的网络安全并购(一)行业知识对投资银行业务很重要(二)在网络安全领域,技术…

文案馆头像壁纸微信小程序源码【支持流量主】

文案馆头像壁纸微信小程序源码【支持流量主】 源码介绍:文案馆头像壁纸微信小程序源码是一款可以获取套图、头像、壁纸的小程序。小程序源码内置流量主功能 需求环境:微信小程序phpmysql 下载地址: https://www.changyouzuhao.cn/13453.ht…

分析一个项目(微信小程序篇)二

目录 首页: 发现: 购物车: 我的: 分析一个项目讲究的是如何进行对项目的解析分解,进一步了解项目的整体结构,熟悉项目的结构,能够知道每个组件所处在哪个位置,发挥什么作用。 接…

(三十八)大数据实战——Atlas元数据管理平台的部署安装

前言 Apache Atlas 是一个开源的数据治理和元数据管理平台,旨在帮助组织有效管理和利用其数据资产。为组织提供开放式元数据管理和治理功能 ,用以构建其数据资产目录,对这些资产进行分类和管理,形成数据字典 。并为数据分析师和数…

JVM(4)原理篇

1 栈上的数据存储 在Java中有8大基本数据类型: 这里的内存占用,指的是堆上或者数组中内存分配的空间大小,栈上的实现更加复杂。 以基础篇的这段代码为例: Java中的8大数据类型在虚拟机中的实现: boolean、byte、char…

基于LightGBM的回归任务案例

在本文中,我们将学习先进的机器学习模型之一:Lightgbm。在对XGB模型进行了越来越多的改进以获得更好的性能之后,XGBoost是一种极限梯度提升机器,但通过lightgbm,我们可以在没有太多计算的情况下实现类似或更好的结果&a…

洛谷C++简单题小练习day11—字母转换,分可乐两个小程序

day11--字母转换--2.14 习题概述 题目描述 输入一个小写字母&#xff0c;输出其对应的大写字母。例如输入 q[回车] 时&#xff0c;会输出 Q。 代码部分 #include<bits/stdc.h> using namespace std; int main() { char n;cin>>n;cout<<char(n-32)<…