Cron表达式

最近在使用QuantumultX这个软件,其中有用到Cron,有些忘了,于是参考了一些资料,又复习了一遍,特此作个记录,以便随时翻阅。

一.Cron表达式

  • 计划任务,在约定时间完成执行已经计划好的工作。实际上是由几个子表达式组成,他们之间用空格分隔,
  • Cron表达式有两种语法:
    (1)秒 分 时 天 月 星期 年
    (2)秒 分 时 天 月 星期

二、各字段的含义

  • :允许设置的值为 0-59,可以出现 , - * / 这4个特殊字符
  • :允许设置的值为 0-59,可以出现 , - * / 这4个特殊字符
  • :允许设置的值为 0-23,可以出现 , - * / 这4个特殊字符
  • :允许设置的值为 1~31,可以出现 ,- * ? / L W C 这8个特殊字符
  • :允许设置的值为 (1-12)或者(JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV,DEC), 可以出现 , - * / 这4个特殊字符
  • 星期:允许设置的值为 (1~7)或者(SUN, MON, TUE, WED, THU, FRI, SAT),这里1是对应SUN的,不要搞 错,可以出现 , - * ? / L C # 这 8个特殊字符
  • :允许设置的值为 1970~2099,可以出现 , - * / 这4个特殊字符

三、特殊字符的含义

  1. " * ": 代表所有可以匹配的值

  2. " - ": 代表一个范围,比如在秒中“0-3”,代表0-3秒

  3. " , ": 在同一个表达式中使用,代表依次被执行的时间,比如在分钟里“5,10”,代表在第5分钟和10分钟分别执行一次

4.“ / ": 表示一个步进,每过多长时间执行一次,用在同一个表达式里,比如“5/2”,代表从第5分钟开始,每过2分钟执行一次
5.“ ? ": 只能用在日和星期中。它也匹配域的任意值,但实际上表示不关心这个字段的值。因为日和星期会相互影响。例如想在每月的20日的0时0分0秒触发,不管20日到底是星期几,则只能使用如下写 法: "0 0 0 20 * ?", 其中最后一位只能用“?”,而不能使用"*" , 如果使用了,那么表示不管星期几的0点0分0秒这个时间,都会触发一次

  1. " L ": 代表最后一个可用的时间,"Last"的缩写,只能用在月份,星期表达式中。
    • 如果“L”前无内容,两个表达式中含义分别是:
      月:“L”在月中表示一个月的最后一天,1月31号,4月30号,等等
      星期:“L”在星期中表示一个星期的最后一天,也就是“7”或者“SAT”
    • 如果“L" 前有内容,那么就有另一个含义了,比如在星期中"5L",表示最后一个星期的星期4,在月中"5L”,表示 这个月的倒数第5天。

7.“W": 代表”Weekday“(只有星期一星期五为工作日),只能用在月中,表示只在指定日期的最近有效工作日 触发,比如"12W",是个星期六,那么会在星期五,也就是11日执行。如果“12W"是个星期日,那么会在星 期一,13日执行。

  1. "LW": 连用表示在某个月最后一个工作日,即最后一个星期五。

  2. "#": 只能用在星期,表示某月的第几个星期几,比如“5#3",表示某月的第3个星期4

四、举例练习,巩固成果

1."30 *  *  ?" :由于后面全是任意匹配值,所以为每分钟的第30秒都执行
2."30 10 1 20 * ?":表示每月20日的1时10分30秒执行
3."30 10 1 ? 10 SUN 2020":表示2020年10月的每个星期日的1时10分30秒执行
4."15,30,45 *  *  ?":表示每分钟的第15秒,30秒,45秒都执行一次
5."15-45 *  *  ?":表示从第15秒开始到45秒,每秒都执行一次
6."0 0/3 *   ?":表示 每小时的第0分0秒开始,每三分钟触发一次
7."0 15 10 ? * 5L":表示每个月最后一个星期四的10点15分0秒触发任务
8."0 15 10 ? * 6#3":表示每月的第三个星期五上午10:15触发
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容

  • 时间格式: s> m >h >d> m> w(?)> y(?) 分别对应: 秒>分>小时>日>月>周>年, 1...
    二把刀9527阅读 2,329评论 0 4
  • 本篇不算原创,因为主要内容来自网上的博客,所以给出我参考文章的链接。 本文cron表达式详解的大部分内容参考了[c...
    九里阅读 8,150评论 1 6
  • 【1】cron表达式至少要有6个(最多有7个)以空格分割的事件元素。按照从左到右的顺序,它们分别为:1.秒:Sec...
    holmes000阅读 3,128评论 0 0
  • cron表达式分为七个域,之间使用空格分隔。其中最后一个域(年)可以为空。每个域 都有自己允许的值和一些特殊字符构...
    过客_dea7阅读 384评论 0 0
  • cron表达式是什么 定时任务中,我们在方法上使用@Scheduled注解来设置任务的执行时间的一种属性配置方法 ...
    红紫黑白灰阅读 420评论 0 0