在手機中,咱們經常使用備忘錄或者是鬧鐘等來提醒咱們該作什麼事情了,在Linux操做系統中,也有相似的操做。spa
在Linux中除了用戶即時執行的命令操做之外,還能夠配置在指定的時間、指定的日期執行預先計劃好的系統管理任務(如按期備份、按期採集監測數據)。RHEL6系統中默認已安裝了at、cronie軟件操作系統
包,經過atd和crond這兩個系統服務實現一次性、週期性計劃任務的功能,並分別經過at、crontab命令進行計劃任務設置。命令行
at的適用前提是at程序已經安裝並運行atd服務(atd服務是Linux下一次性定時計劃任務命令的守候進程)rest
若是沒有安裝at程序則須要首先安裝at程序—— yum install at -yblog
若是沒有運行atd服務則需啓動atd服務—— systemctl restart atd;查看是否成功啓動atd服務能夠用命令 ps aux | grep atd 來抓取atd進程信息,以下圖所示即爲成功。進程
接下來萬事俱備,咱們即可以調用at程序來設置咱們的一次性計劃任務了crontab
at的格式是 ——at H:M Y-m-d (H/M:小時/分鐘 Y/m/d:年/月/日)特別注意at的時間格式,如果不加上後面的年月日便自動錶示爲今天,則爲12小時制,上午要在時間後標明am(上午)或pm(下午)。rem
打出命令後,會彈出可供輸入的命令行,在裏面輸入想要執行的操做後,摁 Ctrl + d 保存it
設置完能夠用—— at -l 或者 atq 來查看已設置的計劃軟件
當咱們不想要這個計劃後,能夠輸入 atrm i 來進行刪除操做(i表明計劃任務的編號,每一個任務都會在行首 標明編號,能夠利用at -l 或atq來查看)。 值得注意的是刪除任務後編號不會歸零而是繼續向下順位。
相比於一次性計劃任務,crontab能夠屢次的執行計劃,能夠在固定的某月某周某天某時某分來執行,也能夠設置爲每通過多長時間便執行一次
它的語法爲—— crontab -u -e
-l:list,列出指定用戶的計劃任務列表——查看命令
-e:edit,編輯指定用戶的計劃任務列表
-u:user,指定的用戶名,若是不指定,則表示當前用戶
-r:remove,刪除指定用戶的計劃任務列表
在進入 -e 編輯模式後,已行爲單位,每一行就是一個計劃,須要執行的命令要寫成絕對路徑的格式,
* 表明取值範圍裏的每個數字,拿第一個舉例子,若是第一位是 * 則表明每一分鐘都會執行一次該命令
- 表明取值範圍,例如 在 10點到12點之間就能夠在第二個 * 設置爲 10-12 便可
/ 表明每多少個,例如想要每10分鐘執行一次,可在分的位置設置 */10
, 表明多個數值,例如想在1,2,6點執行,即可在時的位置設置爲 1,2,6
咱們想要刪除剛剛編寫的計劃,用——crontab -r就能夠進行所有刪除注意這個命令是所有刪除,可是有時候咱們建立了多條計劃想進行批量刪除能夠進入編輯模式,而後在不想要的計劃前面加上#(其實就是把這一行註釋掉啦)