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/