此工具可帮助您生成自定义cron表达式,用于调度备份、电子邮件和状态检查等任务。
You can check the cron format, know the allowed characters and even refer few examples to get an idea about cron expressions.
cron或cron job是一个标准的Unix实用程序,用于执行计划的命令或脚本。Cron通常用于安排重复性任务,例如在特定日期或固定时间间隔执行系统维护、下载电子邮件等。
cron表达式是一个由5个不同字段组成的字符串,用空格分隔。每个字段可以包含任何允许的值,以及该字段允许的特殊字符的不同变体。字段如下所示::
字段名 | 强制 | 允许的值 | 允许的特殊字符 |
---|---|---|---|
分钟 | 是 | 0-59 | , - * / |
小时 | 是 | 0-23 | , - * / |
月/日 | 是 | 1-31 | , - * ? / L W |
月份 | 是 | 1-12 or JAN-DEC | , - * / |
星期几 | 是 | 1-7 or SUN-SAT | , - * ? / L # |
特殊字符 | 描述 |
---|---|
* ("all values") | 用于选择字段中的所有值。例如:小时字段中的“*”表示“每小时” |
? ("no specific value") | 用于在一个字段中选择特定的内容,同时在第二个字段中生成随机内容。例如:如果您希望触发器在一个月的第15天触发,但不关心一天中的几小时,那么您可以在day字段中指定这两个字段为“15”,在hour字段中指定“?”。 |
- | 指定范围。例如:day字段中的“15-17”表示第15、16和17天。 |
, | 用于指示其他值。例如:小时字段中的“9,10,11”表示一天中的第9、10和11小时。 |
/ | 表示增量。例如:如果在分钟字段中给出“0/30”,则表示您选择了分钟0、30、60和90。类似地,如果给出“15/30”,则选择的是分钟15、45、75和105。您还可以在“”字符后面包含“/”,在本例中,这相当于在“/”之前包含“0”。”“月日”字段中的“2/5”表示“从月的第二天开始,每5天进行一次触发”。 |
L("last") | 在包含它的两个字段中分别指定不同的含义。例如:月日字段中的值“L”表示“月的最后一天”-非闰年的1月31日,2月28日。如果仅在“星期几”字段中使用,则表示“7”或“SAT”。但如果在“星期几”字段中使用另一个值,则表示“本月的最后一个xxx天”-例如,“3L”表示“本月的最后一个星期二”。您还可以定义与当月最后一天的偏移量,例如“L-5”,表示日历月的第五天到最后一天。使用“L”选项时,不要指定值的范围,这一点很重要,因为生成的结果可能会令人困惑或在本质上是意外的。 |
W ("weekday") | 指定最接近给定日期的工作日(星期一至星期五)。例如:如果您将“12W”定义为“月日”字段的值,则其含义是:“最接近该月12日的工作日”。所以如果12号是星期六,扳机将在11号星期五触发。如果12日是星期日,扳机将在13日星期一触发。如果12号是星期三,那么它将在12号星期三触发。但是,如果您将“1W”定义为月份中某一天的值,并且第一天是星期六,则触发器将在第三天的星期一触发,因为它不会“跳转”到一个月的天数边界。请注意,“W”字符只能在月份的某一天指定,而不是指定日期的范围或列表。 |
# | 指定每月的“第n个”XXX天。例如:星期几字段中“5#2”的值表示“本月的第二个星期四”(第5天=星期四,“#2”=本月的第二个星期四)。其他例子:“1#2”=本月的第二个星期日,“3#4”=本月的第四个星期二。请注意,如果指定“#5”,并且该月给定的一周中没有5天,则该月不会发生触发。 |
Thanks for your feedback