0x00 时间表示规则

因为工作需要,经常使用crontab的定时任务规则来执行任务,遂整理其相关规则及使用方式,以作备忘。

其整体的规则符合:

1
2
3
4
5
6
7
8
*    *    *    *    *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 7) (星期天为0/7均可)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

*:代表所有可能的值,假设说在月份上置一个*,则表示满足其它所有可能的条件后每月都会执行,再比如规则* * * * *则表示每分钟都执行一次。

,:逗号用于隔开一个列表范围,比如规则* * * 2,4,6 *表示在每年的2月4月6月的每分钟都执行一次。

-:介于两个整数之间,用于界定一个范围,比如规则0 15-20 * * *表示在每天的15点-20点(两头均含)整的时候执行一次。

/:用来指定时间的间隔频率,比如规则0 17-20/2 * * *表示在每天的17点-20点(两头均含)每隔2个小时执行一次,在这种情况下,17点执行一次,19点执行一次,下一个时间点是21点,但是已经超出20点所限制的范围了,所以每天只有17点和19点整的时候执行2次。

数字:用于明确标志时间点,比如规则30 16 * * *则表示每天的16:30分执行一次。