天天看點

ubuntu crontab 定時任務

Cron是一個[守護程式]用于在指定的時間内執行行程類的任務,每一個使用者都有一個 crontab 檔案,來允許他們指定需要執行的内容和時間,此外,系統也有一個 crontab ,用來允許像交替日志和更新本地資料這樣有規則的任務。

1、crontab檔案位置:/etc/crontab

2、使用cron定時執行一個sh腳本,eg:

*/3 * * * * root /usr/local/test.sh

#以上指令表示 第隔3分鐘執行test.sh腳本
           

3、在crontab 項目裡的第一個部分描述了執行任務的時間。它用空格分開成五個區域,每個隻能用數字、“*”、或适當的字。這個區域依次說明 “分”,“時”,“每月幾日”、“月”、“每周星期幾”,月和星期可以用縮寫,如 “jan"代替“January" 、"thu" 代替"Thursday",

/etc/crontab 檔案中的每一行都代表一項任務,它的格式是:

minute hour day month dayofweek command

注:

minute     //分鐘,從 0 到 59 之間的任何整數

hour       //小時,從 0 到 23 之間的任何整數

day        //日期,從 1 到 31 之間的任何整數(如果指定了月份,必須是該月份的有效日期)

month      //月份,從 1 到 12 之間的任何整數(或使用月份的英文簡寫如 jan、feb 等等)

dayofweek  //星期,從 0 到 7 之間的任何整數,這裡的 0 或 7 代表星期日(或使用星期的英文簡寫如 sun、mon 等等)

command    //要執行的指令(指令可以是 ls /proc >> /tmp/proc 之類的指令,也可以是執行你自行編寫的腳本的指令。)

在以上任何值中,星号(*)可以用來代表所有有效的值。譬如,月份值中的星号意味着在滿足其它制約條件後每月都執行該指令。

整數間的短線(-)指定一個整數範圍。譬如,1-4意味着整數 1、2、3、4。

用逗号(,)隔開的一系列值指定一個清單。譬如,3, 4, 6, 8标明這四個指定的整數。

正斜線(/)可以用來指定間隔頻率,

eg:

5 14 * * *        //每天14:05執行一次,cron時間以24小時制計算
*/5 * * * *       //每5分鐘執行一次
0 6-12/3 * 12 *   //每年12月份每天的早上6點到12點中,每隔3個小時執行一次
           

4、crontab修改後需重新開機:sudo service cron restart