crontab
是一个守护进程,在指定的时间运行。每个用户都有独立的crontab,因此不需要用
su
来执行。
除了在 Linux 上运行外,Jenkins
里面的job设置也可以用这个,支持这个语法的都可以。
语法
类似下面这样的,分别代表的是 minutes、hour、day、month、week。
5 0 * 8 *
# 8月每天的凌晨00:05分运作
有效值
通用的如下4个
* 任何值
, 逗号是分隔符
- 代表一个范围
/ 每几分钟运行
minute
0-59 有效值
比如 5-20/5
,就是从第5分钟到20分钟,间隔5分钟运行一次
hour
0-23 有效值
比如 */50
,就是每50个小时运行
day
1-31 有效值
比如 4,5,31
,就是当月的4、5、31号运行
,有人可能会问了,如果指定的是2月
,会报错么?实际上是不会报错的。
month
1-12 有效值
JAN-DEC 这个是对于的英文,也是有效的
比如 JAN-JUL/2
,就是1月到7月的间隔2个月运行一次
。
week
0-6 有效值
SUN-SAT 这个是对于的英文,也是有效的
7 这个是指的是周日,估计是老外的周日是第一天有关系。
因为有效值是 0 - 6,如果指定是0-7
这样有可能不工作,因此建议不要使用x-7
这样的表达式。可以这样表达2-6,7
。
利器
如果记不到这个是什么意思,也不知道怎么用的话,建议可以参考下下面的网站
https://crontab.guru/