Cron表达式

2020-11-09  本文已影响0人  Wezarp

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

一.Cron表达式

二、各字段的含义

三、特殊字符的含义

  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触发
上一篇下一篇

猜你喜欢

热点阅读