在Microsoft Windows底下,我們可以透過工作排程來定期執行特定程序。而在Linux,則是透過crontab來進行。
一般來說有下指令及編輯設定檔兩個方式可以設定。
下指令設定
語法:crontab [-u username] [-l|-e|-r]
說明:
- 這個指令預設只有root可以使用,加上-u 參數以指定特定帳號為該工作的執行者
- -e:編輯工作排程
- -l:檢視工作排程
- -r: 刪除所有工作排程
編輯設定檔
一般crontab的設定檔會位在 /etc/crontab,所以直接編輯這個檔案就行了,ubuntu系統要記得用sudo
指令:vim /etc/crontab
工作排程的設定格式如下:
格式:分(0-59) 時(0-23) 日(1-31) 月(1-12) 週(0-7) 要執行的指令串
說明:
- 各參數以空格分隔,沒有特定則用星號 " * "
- 週參數設定為0或7都代表星期日
- 任一時間參數若用逗號 "," 分隔,表示複數時間點,例如參數設定為 " * 0,12 * * * command " 表示每天中午12點及晚上12點都執行一次指令
- 任一時間參數若用逗號 "," 分隔,表示特定時間區間,例如參數設定為 " 30 0-3, * * * command " 表示每天0:30, 1:30, 2:30, 3:30 都執行一次指令
- 任一時間參數若用斜線 "/" 分隔,表示時間間隔,例如參數設定為 " * */2, * * * command " 表示每天每2個小時執行一次指令,也可以寫作是 " * 0-23/2, * * * command "