Post

Cron 表达式

Cron表达式是用于指定定时任务执行时间的格式化字符串,广泛应用于软件开发和系统管理中的周期性任务(如备份数据库、清理日志)。其基本结构由6个字段组成,依次为秒(0-59)、分钟(0-59)、小时(0-23)、日期(1-31)、月份(1-12或JAN-DEC)、星期(0-6或SUN-SAT,0和7表星期天),字段间用空格分隔,支持值、范围、列表或通配符。特殊字符包括*(所有值)、/(增量,如*/5表每隔5单位)、,(多值,如1,15,30)、-(范围,如1-5)、?(日期或星期字段不指定值)。通过组合这些元素,可实现复杂调度逻辑,如“0 0 6 * * *”表每天6点执行,“0 */5 14 * * ?”表每天14点每5分钟执行,有效提升系统自动化程度,减轻人工操作负担。

分享 阅读 537 点赞 1 评论 0

简介

Cron 表达式是一种用于指定定时任务执行时间的格式化字符串。在软件开发和系统管理中,经常需要执行周期性任务,例如备份数据库、定时清理日志文件等。Cron 表达式就是为了满足这种需求而设计的。本教程将介绍 Cron 表达式的基本语法和常见用法。

Cron 表达式的基本结构

Cron 表达式由 6 个字段组成,每个字段代表一段时间。这些字段从左到右依次表示:

  1. 秒(Second):0 到 59

  2. 分钟(Minute):0 到 59

  3. 小时(Hour):0 到 23

  4. 日期(Day of month):1 到 31

  5. 月份(Month):1 到 12 或者 JAN 到 DEC

  6. 星期(Day of week):0 到 6 或者 SUN 到 SAT(0 和 7 都代表星期天)

每个字段可以是一个值、一个范围、一个列表或者一个通配符。

基本语法

一个完整的 Cron 表达式包含 6 个字段,通过空格分隔。例如:

* * * * * *

这个表达式代表每秒钟都执行任务。下面是一些常见的例子:

0 0 * * * *:每天的午夜(00:00:00)执行任务
0 0 6 * * *:每天的早上 6 点执行任务
0 0 12 * * MON-FRI:每周一至周五的中午 12 点执行任务
0 0 */2 * * *:每两个小时执行一次任务
0 30 9 * * MON-FRI:每周一至周五的早上 9 点 30 分执行任务

表达式

说明

0 0 2 * * ?

每天凌晨2点

*/5 * * * * ?

每隔5秒执行一次

0 */5 * * * ?

每隔5分执行一次

0 26,29,33 * * * ?

在26分、29分、33分执行一次

0 30 0 * * ?

每天半夜12点30分执行一次

0 15 10 ? * *

每天上午10:15执行一次

0 0 0/1 * * ?

每个整点执行一次

0 * 14 * * ?

每天14点到14:59分,每1分钟执行一次

0 0-5 14 * * ?

每天14点到14:05分,每1分钟执行一次

0 0/5 14 * * ?

每天14点到14:55分,每5分钟执行一次

0 0/5 14,18 * * ?

每天14点到14:55分,和18点到18点55分,每5分钟执行一次

0 0 18,22 * * ?

每天18点、22点执行一次

0 0 7-23 * * ?

每天7点到23点,每整点执行一次

0 0 10,14,16 * * ?

每天上午10点,下午2点,4点

0 0/30 9-17 * * ?

朝九晚五工作时间内每半小时

0 0 12 ? * WED

表示每个星期三中午12点

0 15 10 * * ? 2024

2024年的每天上午10:15触发

0 15 10 15 * ?

每月15日上午10:15触发

0 15 10 ? * MON-FRI

周一至周五的上午10:15触发

0 15 10 L * ?

每月最后一日的上午10:15触发

特殊字符

除了数字和通配符之外,Cron 表达式还支持一些特殊字符:

  • *(星号):代表所有可能的值。例如,* 在分钟字段表示每分钟都执行任务。

  • /(斜线):用于指定增量值。例如,*/10 在分钟字段表示每隔 10 分钟执行一次任务。

  • ,(逗号):用于指定多个值。例如,1,15,30 在分钟字段表示在 1 分、15 分和 30 分时执行任务。

  • -(连字符):用于指定范围。例如,1-5 在分钟字段表示从第 1 分钟到第 5 分钟执行任务。

  • ?(问号):在日期字段或者星期字段中,代表不指定具体值。例如,* * ? * * 在日期字段中表示每天都执行任务,星期字段无所谓。

总结

Cron 表达式是一种强大的定时任务调度工具,通过简单的语法就能实现复杂的调度逻辑。掌握了 Cron 表达式的基本语法和特殊字符,你就可以轻松地安排各种定时任务,提高系统的自动化程度,减轻人工操作的负担。

继续阅读

全部归档
智阅AI助手第四次重构上线:这次把“摘要”两个字删掉了
智阅AI助手第四次重构上线:这次把“摘要”两个字删掉了

“智阅AI助手”已全面升级,从单纯的文章摘要生成器转变为集文章创作、标题生成、语言润色、标签生成和智能对话于一体的强大内容生产力工具。新版本支持多风格文章生成,可按需输出不同风格的初稿;提供多选项标题生成,帮助用户打造吸睛SEO友好的标题;文章润色功能可优化语句流畅度、情感色彩和专业度;标签生成功能则提升内容曝光率;智能对话则允许用户与AI进行多轮讨论,如同与创作伙伴交流。 该助手集成了OpenAI、智谱AI、通义千问、Codesphere、硅基流动五大AI引擎,用户可自由切换以适应不同需求。配置方面进行了重构,各功能模块可独立开关,界面更简洁,操作更高效。文章页自动注入AI助手,无需手动配置,且修复了“思考模型异常”等问题,用户体验更佳。新版本大大简化了摘要功能的操作流程,让新手也能轻松上手。

bytemd编辑器
bytemd编辑器

Markdown 是一种轻量级标记语言,以简单直观著称,能快速生成 HTML,实现写作与代码的完美结合。其基础语法涵盖标题、段落、字体样式、列表、链接图片、引用、代码块、分割线及表格,帮助内容层次分明、重点突出;进阶技巧支持 LaTeX 公式展示数学表达式,Mermaid、PlantUML 流程图实现可视化,信息图和 Ruby 注音增强表现力。无论是技术文档、博客还是项目说明,Markdown 都能高效传达信息,让创作更轻松多彩。

评论