cron表达式

cron 表达式表达体

在 Unix 自带的 cron 表达式一般分为五段,即:

分钟 小时 日 月 星期 # 这里的「日」指「每月的第几日」

在其他扩展或魔改版本中分为六段或七段,即:

[] 分钟 小时 日 月 星期 []

基本符号

  • * 代表每一
  • , 代表并列关系
  • - 代表连续
  • / 代表整除
  • ?只能用在「日」和「星期」两个域。它也代表匹配域的任意值,但实际需要满足其他条件。因为「日」和「星期」会相互影响。例如想在每月的 20 日触发调度,而不管 20 日到底是星期几,则只能使用如下写法:13 15 20 * ?, 其中最后一位只能用 ?,而不能使用 *,因为使用 * 表示不管星期几都会触发,这不符合我们的需求。

下面举几个例子:

每小时的 20 和 40 分钟执行:

20,40 * * * *

每小时的 20 到 40 分钟执行:

20-40 * * * * # [20,40] 闭区间

每小时能被 2 整除时执行:

*/2 * * * * # 0,2,4...58

每小时能在减去数字 num 后被整除时执行:

num/2 * * * * # 比如 num = 1,则在 1,3,5...59 时执行

每月 20 日凌晨 3 点半执行:

30 3 20 * ?

补充

在不同系统或框架下,月或星期的取值范围可能不同。

比如月可能是取 0-11,也可能是 1-12。

星期可能是取 0-6,也可能是 1-7。

为此可以通过月或星期的简写来表示。比如通过 JUL 来指定一月,通过 MON 来指定周一。

此外,为了方便使用。我们也可以通过 L 来指定月的最后一天,通过 W 来指定工作日。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值