在手機中,我們常常使用備忘錄或者是鬧鐘等來提醒我們該做什麼事情了,在linux作業系統中,也有類似的操作。
在linux中除了使用者即時執行的命令操作以外,還可以配置在指定的時間、指定的日期執行預先計畫好的系統管理任務(如定期備份、定期採集監測資料)。rhel6系統中預設已安裝了at、cronie軟體
包,通過atd和crond這兩個系統服務實現一次性、週期性計畫任務的功能,並分別通過at、crontab命令進行計畫任務設定。
at的適用前提是at程式已經安裝並執行atd服務(atd服務是linux下一次性定時計畫任務命令的守候程序)
如果沒有安裝at程式則需要首先安裝at程式—— yum install at -y
如果沒有執行atd服務則需啟動atd服務—— systemctl restart atd;檢視是否成功啟動atd服務可以用命令 ps aux | grep atd 來抓取atd程序資訊,如下圖所示即為成功。
接下來萬事俱備,我們便可以呼叫at程式來設定我們的一次性計畫任務了
at的格式是 ——at h:m y-m-d (h/m:小時/分鐘 y/m/d:年/月/日)特別注意at的時間格式,若是不加上後面的年月日便自動表示為今天,則為12小時制,上午要在時間後標明am(上午)或pm(下午)。
打出命令後,會彈出可供輸入的命令列,在裡面輸入想要執行的操作後,摁 ctrl + d 儲存
設定完可以用—— at -l 或者 atq 來檢視已設定的計畫
當我們不想要這個計畫後,可以輸入 atrm i 來進行刪除操作(i代表計畫任務的編號,每個任務都會在行首 標明編號,可以利用at -l 或atq來檢視)。 值得注意的是刪除任務後編號不會歸零而是繼續向下順位。
相比於一次性計畫任務,crontab可以多次的執行計畫,可以在固定的某月某周某天某時某分來執行,也可以設定為每經過多長時間便執行一次
它的語法為—— crontab -u -e
-l:list,列出指定使用者的計畫任務列表——檢視命令
-u:user,指定的使用者名稱,如果不指定,則表示當前使用者
-r:remove,刪除指定使用者的計畫任務列表
在進入 -e 編輯模式後,已行為單位,每一行就是乙個計畫,需要執行的命令要寫成絕對路徑的格式,
* 代表取值範圍裡的每乙個數字,拿第乙個舉例子,如果第一位是 * 則代表每一分鐘都會執行一次該命令
-代表取值範圍,例如 在 10點到12點之間就可以在第二個 * 設定為 10-12 即可
/代表每多少個,例如想要每10分鐘執行一次,可在分的位置設定 */10
, 代表多個數值,例如想在1,2,6點執行,便可在時的位置設定為 1,2,6
我們想要刪除剛剛編寫的計畫,用——crontab -r就可以進行全部刪除注意這個命令是全部刪除,但是有時候我們建立了多條計畫想進行批量刪除可以進入編輯模式,然後在不想要的計畫前面加上#(其實就是把這一行注釋掉啦)
linux計畫任務的管理
2.一次性計畫任務 at 1 了解at rpm qf which at 檢視屬於哪個軟體包 rpm ql at 檢視at程式安裝的所有軟體 etc 配置檔案 bin 或者 usr sbin 命令 etc rc.d init.d 啟動指令碼 usr share doc 幫助和說明文件 var spoo...
Linux計畫任務管理
前提 atd服務必須執行 root wei init.d yum y install at 安裝atd服務 root wei init.d systemctl start atd 開啟atd服務 root wei init.d systemctl status atd 檢視atd開啟狀態 18 00...
Linux 計畫任務管理crontab at
1.crontab 命令 按照預先設定的時間週期 分鐘 小時 天 重複執行使用者指定的命令操作,屬於週期性計畫任務,預設開啟 var spool cron 使用者 檔案 服務指令碼名稱 etc init.d crond 主要設定檔案 全域性配置檔案,位於檔案 etc crontab 系統預設的設定,...