Cron表达式
前言在日常开发工作中定时任务是一个非常常见的需求。无论是数据同步、报表生成还是系统维护都需要用到定时任务调度。而Cron表达式作为定时任务调度的核心配置语法是每个开发者都必须掌握的技能。本文将从基础语法出发带你全面掌握Cron表达式的使用。一、Cron表达式基础解析1.1 什么是Cron表达式Cron表达式是一种用于配置定时任务的字符串表达式最初诞生于Unix系统现已广泛应用于各种调度框架中如Spring Task、Quartz等。它通过简洁的语法描述复杂的时间规则。1.2 字段定义标准的Cron表达式由6个或7个时间字段组成字段之间用空格分隔秒 分 时 日 月 周 [年]字段取值范围允许的特殊字符必填秒0-59, - * /是分0-59, - * /是时0-23, - * /是日1-31, - * / ? L W是月1-12 或 JAN-DEC, - * /是周1-7 或 SUN-SAT, - * / ? L #是年1970-2099, - * /否注意“日和周字段互斥必须有一个使用”?占位符。1.3 特殊字符详解字符含义示例说明*所有值* * * * *每秒执行,列表值1,3,5 * * * *第1、3、5秒执行-范围值1-5 * * * *第1到第5秒执行/间隔值0/5 * * * *每5秒执行从第0秒开始?不指定值0 0 12 * * ?每天12点执行不指定周几L最后0 0 12 L * ?每月最后一天12点执行W最近工作日0 0 12 15W * ?每月15日最近工作日12点执行#第几个0 0 12 ? * 5#2每月第2个周五12点执行二、项目常用Cron示例集下面整理了30个企业级项目中常用的Cron表达式按场景分类2.1 按频率执行# 每5秒执行一次 0/5 * * * * ? # 每30秒执行一次 0/30 * * * * ? # 每分钟执行一次 0 * * * * ? # 每5分钟执行一次 0 */5 * * * ? # 每15分钟执行一次 0 */15 * * * ? # 每30分钟执行一次 0 */30 * * * ? # 每小时执行一次 0 0 * * * ? # 每2小时执行一次 0 0 */2 * * ? # 每6小时执行一次 0 0 */6 * * ?2.2 每日固定时间执行# 每天凌晨0点执行 0 0 0 * * ? # 每天上午8点执行 0 0 8 * * ? # 每天中午12点执行 0 0 12 * * ? # 每天下午18点执行 0 0 18 * * ? # 每天晚上23点59分执行 0 59 23 * * ? # 每天凌晨2点30分执行 0 30 2 * * ?2.3 工作日/周末执行# 工作日周一到周五上午9点执行 0 0 9 ? * MON-FRI # 工作日每天上午9点和下午18点执行 0 0 9,18 ? * MON-FRI # 周末周六、周日上午10点执行 0 0 10 ? * SAT,SUN # 周一上午9点执行 0 0 9 ? * MON # 周五下午17点执行 0 0 17 ? * FRI2.4 每周固定时间执行# 每周一上午8点执行 0 0 8 ? * MON # 每周二下午14点执行 0 0 14 ? * TUE # 每周三上午10点执行 0 0 10 ? * WED # 每周日凌晨1点执行备份任务 0 0 1 ? * SUN # 每周五晚上23点执行 0 0 23 ? * FRI2.5 每月特定日期执行# 每月1日凌晨0点执行 0 0 0 1 * ? # 每月15日上午10点执行 0 0 10 15 * ? # 每月1日和15日执行 0 0 0 1,15 * ? # 每月最后一天执行 0 0 0 L * ? # 每月最后一天上午10点执行 0 0 10 L * ? # 每季度第一天执行1月、4月、7月、10月1日 0 0 0 1 1,4,7,10 ?2.6 复杂时间组合# 每月1日和15日的凌晨2点执行 0 0 2 1,15 * ? # 工作日的每天上午9点到下午18点每小时执行一次 0 0 9-18 ? * MON-FRI # 每周一、三、五的上午8点30分执行 0 30 8 ? * MON,WED,FRI # 每月第2个周五上午10点执行 0 0 10 ? * 5#2 # 每月最后一个周五执行 0 0 0 ? * 6L # 每月15日最近工作日执行如果15日是周六则14日执行如果15日是周日则16日执行 0 0 10 15W * ?三、示例解析与注意事项3.1 典型示例详解示例1每日凌晨数据备份0 0 2 * * ?含义每天凌晨2点执行使用场景数据库全量备份、日志归档说明选择凌晨2点是因为系统负载较低示例2工作日报表生成0 0 8 ? * MON-FRI含义工作日周一到周五上午8点执行使用场景生成前一天的业务报表说明避开周末确保工作日上班前完成示例3每月账单结算0 0 0 1 * ?含义每月1日0点执行使用场景月度账单结算、统计归档说明月初执行便于数据统计示例4每15分钟健康检查0 */15 * * * ?含义每15分钟执行一次使用场景服务健康检查、心跳检测说明高频检测但不过于频繁示例5每月第2个周二发送提醒0 0 10 ? * 2#2含义每月第2个周二上午10点使用场景定期会议提醒、月度报告通知说明2#2表示第2个周二2周二3.2 常见陷阱与最佳实践陷阱1日和周字段冲突❌错误示例0 0 12 1 * MON # 同时指定了1号和周一✅正确示例0 0 12 1 * ? # 每月1日不指定周 0 0 12 ? * MON # 每周一不指定日期说明日和周字段互斥必须有一个使用?。陷阱2间隔值的起始点❌错误理解*/5意味着从第5个单位开始✅正确理解*/5意味着从第0个单位开始每隔5个单位0/5 * * * * ? # 第0、5、10、15...秒执行 5/5 * * * * ? # 第5、10、15、20...秒执行陷阱3超出范围的日期0 0 0 31 * ? # 2月31日不存在不会执行最佳实践使用L字符表示最后一天避免日期不存在的问题对于跨月任务考虑业务逻辑处理陷阱4时区问题0 0 8 * * ? # 服务器时间上午8点不一定是北京时间最佳实践明确指定时区如使用Scheduled的zone参数统一使用UTC时间或服务器本地时间在任务文档中注明时区陷阱5系统时钟变更问题服务器时钟调整如NTP同步可能导致任务重复执行或跳过解决方案重要任务应结合分布式锁和数据库记录最佳实践清单明确业务需求任务执行频率是否合理高频任务是否会造成性能压力添加任务日志记录任务开始时间、结束时间、执行结果便于排查问题和监控异常处理任务执行失败时的重试机制异常告警通知分布式环境考虑使用分布式锁避免重复执行考虑任务分片处理文档化记录每个Cron表达式的用途和业务含义便于后续维护四、实用工具推荐4.1 Cron表达式在线工具1. CronTab Guru网址https://crontab.guru/特点简洁直观的界面实时解析Cron表达式提供常用示例库显示下次执行时间适用场景快速验证和生成基础Cron表达式2. Cron表达式生成器网址https://www.bejson.com/othertools/cron/特点中文界面可视化配置选项支持生成7字段表达式提供执行时间预览适用场景需要精确配置复杂时间规则

相关新闻

分布式事务概念解析

分布式事务概念解析

前言 在微服务架构盛行的今天,分布式事务已经成为每个后端开发者必须面对的核心技术难题。如何在保证数据一致性的同时维持系统的高可用性?本文将系统性地介绍分布式事务的核心概念、面临的挑战以及主流解决方案。一、分布式事务的核心概念 1.1 事务的AC…

2026/7/9 1:38:47 阅读更多 →
客户端负载均衡与服务端负载均衡解释与对比

客户端负载均衡与服务端负载均衡解释与对比

前言 在分布式系统和微服务架构日益普及的今天,负载均衡已经成为保障系统高可用、高性能的关键技术。然而,在实际架构设计中,开发团队经常面临一个重要的选择:客户端负载均衡还是服务端负载均衡? 这两种方案各有千秋…

2026/7/9 8:49:42 阅读更多 →
C#实现指纹识别

C#实现指纹识别

一、开发环境配置 基础框架 .NET Framework 4.8Visual Studio 2022OpenCvSharp 4.8(图像处理)Microsoft.ML.OnnxRuntime(深度学习模型支持) 硬件依赖 支持USB通信的指纹识别器(如中控4000B系列)驱动程序&am…

2026/7/5 11:11:51 阅读更多 →

最新新闻

如何在SketchUp中实现STL导入导出:3D打印插件终极指南

如何在SketchUp中实现STL导入导出:3D打印插件终极指南

如何在SketchUp中实现STL导入导出:3D打印插件终极指南 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchup-stl 你是否曾经…

2026/7/9 14:01:51 阅读更多 →
2026年东北交付速度TOP3的高杆灯工厂,到底哪家才是你的最优之选?

2026年东北交付速度TOP3的高杆灯工厂,到底哪家才是你的最优之选?

行业痛点分析在高杆灯行业,交付速度一直是个大问题。数据表明,东北部分高杆灯工厂交付周期平均长达45天,这严重影响了工程进度。比如一些市政项目,因为灯具交付不及时,工期延误,造成了巨大损失。沈阳亚盈路…

2026/7/9 13:59:50 阅读更多 →
特征图融合与拼接实战:5种主流CV架构(FPN/ASPP/DANet/GCNet/UNet)性能对比

特征图融合与拼接实战:5种主流CV架构(FPN/ASPP/DANet/GCNet/UNet)性能对比

特征图融合与拼接实战:5种主流CV架构性能对比与工程选型指南当你在深夜调试一个目标检测模型时,是否遇到过这样的困境:小目标检测精度始终上不去,增加数据量也无济于事?三周前我在处理卫星图像中的小型车辆检测时&…

2026/7/9 13:57:49 阅读更多 →
【Springboot毕设全套源码+文档】基于SpringBoot的民运会赛务管理系统的设计与实现(丰富项目+远程调试+讲解+定制)

【Springboot毕设全套源码+文档】基于SpringBoot的民运会赛务管理系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/9 13:53:47 阅读更多 →
上市公司双元绿色创新数据集

上市公司双元绿色创新数据集

一、基础概况数据编号:2064时间跨度:1994—2024 年全 A 股企业年度面板原始数据源:国家知识产权局绿色专利库,批量清洗核验存储格式:CSV 标准化企业年度面板核心理论依据:双元创新理论,区分探索…

2026/7/9 13:53:47 阅读更多 →
Codex从零上手全攻略:AI编程助手核心用法与多场景实战

Codex从零上手全攻略:AI编程助手核心用法与多场景实战

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近在技术社区看到很多关于Codex的讨论,不少朋友,尤其是刚接触编程或AI辅助工具的同学,对如何上手…

2026/7/9 13:49:45 阅读更多 →

日新闻

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource 还在为Foobar2000找不到高质…

2026/7/9 0:01:04 阅读更多 →
ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍 【免费下载链接】ElegantBook Elegant LaTeX Template for Books 项目地址: https://gitcode.com/gh_mirrors/el/ElegantBook 你是否曾经为学术书籍的封面设计而烦恼?想要一个既专业又美观的封…

2026/7/9 0:03:06 阅读更多 →
如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南 【免费下载链接】pyodbc Python ODBC bridge 项目地址: https://gitcode.com/gh_mirrors/py/pyodbc 在当今数据驱动的商业环境中,企业级数据库连接已成为现代应用开发的核心需求。pyodbc作为一款强大…

2026/7/9 0:07:11 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/9 13:46:46 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/8 16:59:55 阅读更多 →

月新闻