定時任務調度
任務調度:是指系統在某個時間執行的特定的命令或程式
任務調度分類
- 系統作業:有些重要的作業必須周而復始的執行
- 個別用戶作業:個別用戶可能希望執行某些程式
crontab 進行任務的設定
基本語法
crontab [選項]
常用選項
? -e:編輯 crontab定時任務
? -l:查詢crontab任務
? -r:洗掉當前用戶所有的crontab任務
快速入門
設定任務調度檔案:/etc/crontab
設定個人任務調度:crontab -e
接著輸入任務到調度檔案
*/1**** ls -l /etc/ > /tmp/to.txt
每小時的每分鐘執行ls -l /etc/ > /tmp/to.txt命令
細節說明
-
5個點位符的說明
- 第一個 "*":一小時當中的第幾分鐘 【0-59】
- 第二個 "*":一天當中的第幾小時 【0-23】
- 第三個 "*":一個月當中的第幾天 【1-31】
- 第四個 "*":一年當中的第幾月 【1-12】
- 第五個 "*":一周當中的周幾 【0-7】( 0 和 7 都代表周日)
-
特殊符號說明
*:表示任何時間,如第一個"*",就代表一小時中每分鐘都執行一次,:表示不連續的時間,如“ 0 8,12 * * * ”,就代表每天的8點0分,12點0分執行一次-:表示連續的時間范圍,如“ 0 5 * * 1-6 ”,代表周一到周六凌晨5點0分執行*/n:表示每隔多久執行一次,比如“ */1 * * * * ”,代表每隔1分鐘執行一次
crond 相關指令
終止任務調度
crontab -r
列出當前有那些任務調度
crontab -l
重啟任務調度
service crond restart
at 定時任務
基本介紹
at命令是一次性定時計劃任務,at的守護行程atd會以后臺模式運行,檢查作業佇列來運行- 默認情況下,
atd守護行程每 60 秒檢查作業佇列,有作業時,會檢查作業運行時間,如時間與當前時間匹配,則運行此作業 at命令是一次性定時計劃任務,執行完一個任務后不再執行此任務- 在使用
at命令時,一定要保證atd行程的啟動 可以使用相關指令來查看:ps -ef | grep atd
基本語法
at [選項] [時間]
Ctrl + D 結束at命令的輸入,兩次
常用選項
? -m:當指定的任務被完成后,將給用戶發送郵件,即使沒有標準輸出
? -I:atd的別名
? -d:atrm的別名
? -v:顯示任務將被執行的時間
? -c:列印任務的內容到標準輸出
? -V:顯示版本資訊
? -q<佇列>:使用指定的佇列
? -f<檔案>:從指定檔案讀入任務而不是從標準輸入讀入
? -t<時間引數>:以時間引數的形式提交要運行的任務
at 指定時間
- 接受在當天的 hh:mm(小時:分鐘)式的時間指定,假如該時間已過去,那么就放在第二天執行, 例如:04:00
- 使用 midnight(深夜),noon(中午),teatime(飲茶時間,一般是下午 4 點)等比較模糊的詞語來指定時間,
- 采用 12 小時計時制,即在時間后面加上 AM(上午)或 PM(下午)來說明是上午還是下午, 例如:12pm
- 指定命令執行的具體日期,指定格式為 month day(月 日)或 mm/dd/yy(月/日/年)或 dd.mm.yy(日.月.年),指定的日期必須跟在指定時間的后面, 例如:04:00 2021-03-1
- 使用相對計時法,指定格式為:now + count time-units ,now 就是當前時間,time-units 是時間單位,這里能夠是 minutes(分鐘)、hours(小時)、days(天)、weeks(星期),count 是時間的數量,幾天,幾小時, 例如:now + 5 minutes
- 直接使用 today(今天)、tomorrow(明天)來指定完成命令的時間,
案例:2天后的下等5點執行 /bin/ls/home
$ at 5pm + 2 days
at> /bin/ls/home
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/294363.html
標籤:其他
上一篇:組管理和權限管理
下一篇:Linux 磁盤磁區、掛載
