cron表达式学习

Cron表达式是一种用于定时执行任务的周期性时间表达式,通常用于在Unix和类Unix系统中的命令行工具(如crontab)中设置定时任务。Cron表达式由6个字段组成,每个字段代表一个可选的值或选项,如下所示:

*    *    *    *    *    command to be executed  
-    -    -    -    -  
|    |    |    |    |  
|    |    |    |    +----- day of the week (0 - 7) (Sunday = 0 or 7)  
|    |    |    +------- month (1 - 12)  
|    |    +--------- day of the month (1 - 31)  
|    +----------- hour (0 - 23)  
|    +------------ min (0 - 59)  
+-------------- sec (0 - 59, also: 60 - 99)


秒 分 时 日 月 周几

每个字段可以是一个值、一组值、一个范围(如“1-5”)或一个步长(如“5”)。字段的含义如下:

  • 第一个字段:分钟(0 - 59)
  • 第二个字段:小时(0 - 23)
  • 第三个字段:日期中的天(1 - 31)
  • 第四个字段:月份中的天(1 - 12)
  • 第五个字段:一周中的天(0 - 7,星期日为0或7)
  • 第六个字段:小时(0 - 23)或分钟(0 - 59)加上步长(如“5”)

例如,以下Cron表达式将在每小时的第10分钟执行一个命令:

0 0 10 * command to be executed

在这个例子中,第一个字段的值为0,表示分钟数。第二个字段的值为0,表示小时数。第三个字段的值为10,表示该任务在每小时的第10分钟执行。因此,这个任务将在每小时的第10分钟执行。

0 0 0 * * ?

这个表达式中,秒和分都为0,时为0点,日和月都为*,表示每天都执行,周几为?,表示不指定。

Cron表达式还支持一些特殊符号,用于指定一些常用的时间规则:

  • *:表示所有取值范围内的值。
  • /:表示每隔多少时间执行一次任务,例如*/5表示每隔5秒执行一次任务。
  • -:表示一个范围,例如1-3表示1到3的范围内的所有值。
  • ,:表示一个列表,例如1,3,5表示1、3、5三个值。
  • ?:表示不指定值,只能用于日和周几两个字段中的一个。
  • L:表示月份或周几的最后一天,例如在日字段中使用L表示当月的最后一天,在周几字段中使用L表示当周的最后一天。
  • W:表示最近工作日,例如在日字段中使用W表示最近的工作日,在周几字段中使用W表示最近的工作日。

下面是一些常用的Cron表达式示例:

  • 每分钟执行一次任务:0 * * * * ?
  • 每天的0点执行一次任务:0 0 0 * * ?
  • 每周一的0点执行一次任务:0 0 0 ? * MON
  • 每个月的最后一天的0点执行一次任务:0 0 0 L * ?

总结:Cron表达式是一种非常强大的定时任务表达式,通过组合不同的字段和特殊符号,可以实现各种复杂的时间规则。在使用时需要仔细阅读文档并理解各个字段的含义和限制条件,以确保定时任务的正确执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qrind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值