crontab用法

万万没想到,小小的crontab研究了一个小时才研究明白,有一些很小的知识点,很简单,但是网上说的人不多,也不清楚,在此记录一下。

1. 两种cron的区别

Linux下的cron语法和Java spring中的并不完全相同。惊不惊喜,意不意外?

区别不大,主要是Java版本比Linux增加了一些特性,对比如下。

Linux Java spring
长度 5位或6位 6位或7位
具体格式
有无? L W等特殊字符

2. 特殊字符的用法

1. ?的用法

"?"字符仅被用于day of month和day of week两个子表达式,表示不指定值
当两个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为?

2. /的用法

“/”字符用来指定数值的增量
例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟
在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”的含义一样)

3. optional的year怎么写

少填写一位时,自动补充*

4. L的用法

“L” 字符仅被用于day of month和day of week两个子表达式,它是单词“last”的缩写
但是它在两个子表达式里的含义是不同的。
在day of month子表达式中,“L”表示一个月的最后一天,无需手动处理不同月份最后一天日期不同的问题
在day of week子表达式中,“L”表示一个星期的最后一天,也就是SAT

5. W的用法

表示有效工作日(周一到周五),只能出现在Day of Month,系统将在离指定日期的最近的有效工作日触发事件。
例如:在 DayofMonth使用5W,如果5日是星期六,则将在最近的工作日4日(周五)触发。
如果5日是星期天,则在6日(周一)触发;如果5日在星期一到星期五中的一天,则就在5日触发。
另外一点,W的最近寻找不会跨过月份。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。