2021-05-12 14:32:11
Linux中計劃任務、週期性任務設定
Linux中計劃任務、週期性任務設定
計劃任務:指在未來的特定時間裡,執行一次某一特定任務。當然,如果同一任務需要在不同時間點執行執行兩次、三次或多次,可以視為多個一次看待。
周期性任務:指某一任務需要周期性的執行。週期性可以是以分、時、天等為單位,但又不限於這些單位。
常用於執行計劃任務的命令——at, batch, 與周期性任務相關的的命令crontabs。
1.at命令和batch命令的區別。
at命令旨在特定的之間執行任務;batch命令設定的任務由系統選擇空閒時間去執行,空閒時間預設為cpu利用率小於0.8的時候
2.at命令
格式 at [option] TIME 選項 -l atq命令的別名,顯示使用者的計劃任務 -d atrm命令的別名,清空計劃任務 -c 檢視特定的計劃任務 -f FILE 從檔案中讀取計劃任務命令
TIME,有如下幾種格式
HH:MM [YYYY-mm-dd]
noon, midnight, teatime
tomorrow
now+#{minutes,hours,days, weeks}
註:batch命令使用方法和at類似,這裡不再贅述
3. crontabs命令
a. 與cron服務相關的程式包有三個:
cronie:主程式包,提供crond守護行程及相關輔助工具
cronie-anacron:cronie的補充程式,用於監控cronie任務執行
crontabs: 包含CentOS提供系統維護任務
b. 週期任務分類。根據使用者級別,可分為系統周期任務和使用者周期任務。
c. 系統周期任務一般直接直接修改/etc/crontab檔案,即可設定週期任務, 可檢視該檔案中的內容
[root@linuxidc-pc tmp]#cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin # 環境變數路徑 MAILTO=root # 週期任務執行之後,郵件接受者 HOME=/ # For details see man 4 crontabs # Example of job definition: # 計劃任務書寫格式 # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
d. 週期任務中,通過/etc/crontab檔案可知,有5個與時間相關的選項,這些選項有如下規則:
a.特定值 #
例如: 5 或 20
b.可使用*表示任意值
c. 離散值用逗號隔開
例如: 5,6,2 或者 0,3
d. 連續值用短折線“-”表示
例如:10-21
e. 可使用正斜線“/”’步長:
例如: */3
e. 設定使用者周期任務時,可以直接使用
crontabs -e
編輯相關組態檔,檔案格式和/etc/crontab類似,只是不需要填寫user-name選項。其他選項:
crontab -e 直接編輯檔案 -l 檢視周期任務 -r 清空周期任務 -i 互動模式
-u USER: 僅root可執行,指定以特定使用者身份執行該週期任務
f. 使用者周期任務,有自己獨有的時間格式, @CMD——可代表特定週期時間
@rebootRun once after reboot. @yearly0 0 1 1 * @annually0 0 1 1 * @monthly0 0 1 * * @weekly0 0 * * 0 @daily0 0 * * * @hourly0 * * * *
4. 相關的組態檔
/etc/crontab
/etc/cron.d/ 組態檔
/etc/cron.hourly/ 指令碼
/etc/cron.daily/指令碼
/etc/cron.weekly/指令碼
/etc/cron.monthly/指令碼
/etc/anacrontab 負責執行以上/etc/cron.hourly/等檔案中的系統任務
/var/spool/cron/ 使用者周期任務組態檔
/etc/cron.{allow,deny} 使用者執行週期任務的許可權組態檔
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-10/148092.htm
相關文章