天天看點

crontab指令 linux如何設定定時任務、計劃任務?

作者:freedom47

linux如何設定定時任務、計劃任務?crontab

在平時使用linux伺服器時,經常需要将一些指令或腳本按時執行,比如:看門狗程式、按一定間隔擷取linux的性能資訊等。在windows可以通過界面的計劃任務進行實作類似的功能,那在linux如何實作計劃任務的功能那。本文我們将詳細講解linux計劃任務的添加、删除、檢視、按使用者添加、按使用者删除、按使用者檢視。

crontab使用

crontab 參數           

crontab 常用參數

-u 計劃任務針對那個使用者生效,例如crontab -u root,針對root使用者生效的計劃任務,預設為目前使用者使用者
-e 編輯目前使用者的計劃任務,會自動打開文本編輯器或手動選擇編輯器後打開計劃任務配置檔案。
-l 列出目前使用者的計劃任務
-r 清楚目前使用者的所有計劃任務           

crontab 計劃任務格式

每行一個計劃任務,每個任務由時間表達式和指令兩部分組成,時間部分表示定時執行間隔或者執行時間點。例如: ;“0 5 * * 1”:時間部分,“tar -zcf /var/backups/home.tgz /home/”指令部分;

時間部分詳解

時間部分由5部分組成,每一部分用空格隔開。第一部分表示每周幾,第二部分表示第幾個月,第三部分表示第幾天,第四部表示幾點,第五部分表示第幾分鐘。比如:每晚的21:30重新開機smb(30 21 * * * /etc/init.d/smb restart),下方以圖的形式表示了各個部分的含義。

Linux
    *    *    *    *    *
    -    -    -    -    -
    |    |    |    |    |
    |    |    |    |    +----- day of week (0 - 7) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    |    |    |    +---------- month (1 - 12) OR jan,feb,mar,apr ...
    |    |    +--------------- day of month (1 - 31)
    |    +-------------------- hour (0 - 23)
    +------------------------- minute (0 - 59)
           

大家如果覺着非常難了解,不好記憶。我給大家推薦一個線上的crontab表達式生成器。點選跳轉到線上crontab表達式生成器。下邊是crontab表達式生成器界面截圖。

指令部分

指令部分跟平時輸入到terminal終端裡的指令是一樣的

crontab使用舉例

給目前使用者添加/删除定時任務

crontab -e           
crontab指令 linux如何設定定時任務、計劃任務?

給指定使用者(ubuntu)添加/删除定時任務

crontab -e -u ubuntu           
crontab指令 linux如何設定定時任務、計劃任務?

檢視目前使用者定時任務

crontab -l           
crontab指令 linux如何設定定時任務、計劃任務?

檢視指定使用者(ubuntu)定時任務

crontab -l -u ubuntu           
crontab指令 linux如何設定定時任務、計劃任務?

删除目前使用者所有定時任務

crontab -r           
crontab指令 linux如何設定定時任務、計劃任務?

删除指定使用者(ubuntu)所有的定時任務

crontab -r -u ubuntu           

繼續閱讀