linux 任務(wù)計(jì)劃、周期性任務(wù)

未來的某時間點(diǎn)執(zhí)行一次某任務(wù):at,batch
周期性運(yùn)行某任務(wù):crontab
執(zhí)行結(jié)果:通過本地郵件服務(wù)發(fā)送給用戶

mailx [ -s 'sbuject 標(biāo)題'] username
進(jìn)入開始寫郵件
使用.號結(jié)束,單獨(dú)成行ctrl+d 提交也可以

mail 命令收郵件
跟上郵件編號讀取郵件
q 退出

非交互式輸入郵件正文
mailx -s "標(biāo)題" 用戶 < 要輸入的內(nèi)容
使用管道 cat /xxx/xxx | mail -s “標(biāo)題” 用戶

at:命令
默認(rèn)使用郵件發(fā)送結(jié)果
ctrl+d 提交
at [option]... TIME
time :
HH:MM [YYYY-mm-dd]
noon,midnight,teatime,正午,午夜,下午茶
tomorrow
now + 數(shù)字 + 單位 minutes,hours,days。。。

-l 列出當(dāng)前正在等待執(zhí)行的任務(wù)
-f 從指定文件讀取任務(wù),不在使用交互輸入,可以執(zhí)行腳本,需要全路徑
-d 刪除沒有執(zhí)行的任務(wù),相當(dāng)于atrm 數(shù)字
-c 查看要執(zhí)行的任務(wù)具體內(nèi)容
-q 指明任務(wù)隊(duì)列
at 隊(duì)列由單個字母表示,默認(rèn)為a隊(duì)列

batch命令:
batch會自動在系統(tǒng)空閑時間執(zhí)行指定任務(wù)。

周期性任務(wù)計(jì)劃:cron
服務(wù)程序:不斷檢查那些任務(wù)該執(zhí)行。

確保crond守護(hù)進(jìn)程處于運(yùn)行狀態(tài)
systemctl status crond.service

提交任務(wù)的方式:
提交固定格式的文件,不建議直接編輯此文件,使用crontab命令

cron任務(wù)分為兩類:
系統(tǒng)cron任務(wù), 主要實(shí)現(xiàn)系統(tǒng)自身的維護(hù),修改需要手動編輯/etc/crontab文件
用戶cron任務(wù), 用戶自定義的任務(wù),使用crontab命令

系統(tǒng)任務(wù):
每一行定義一個周期任務(wù),查看/etc/crontab查看格式。
時間 - 運(yùn)行任務(wù)的用戶身份 - 要執(zhí)行的任務(wù) 使用空格分割
此處的環(huán)境變量不同于用戶登錄后的環(huán)境變量,建議命令使用絕對路徑,或自定義PATH;
執(zhí)行結(jié)果郵件發(fā)送 MAILTO指定的用戶。

用戶任務(wù):
/var/spool/cron/username
用戶 cron 配置格式
時間 - 要執(zhí)行的任務(wù)
郵件發(fā)送至當(dāng)前用戶

時間表示法:

  1. 特定值:給定時間點(diǎn)有效取值方位內(nèi)的值
    注意:day of week 和 day of month 一般不同時使用。不取值使用 * 號占位
    • 給定時間點(diǎn)取值的所有值,表示每 。。。。
  2. 每個指定時間使用逗號分隔多個值
  3. 連續(xù)取值使用 - 連接開始和結(jié)束
  4. */ # 自定義步長,指定的時間點(diǎn)不能被步長整除時,其意義將不存在。

最小時間單位為分鐘,想完成秒級任務(wù),需要借助其它機(jī)制實(shí)現(xiàn)。

定義任務(wù),crontab 用法
crontab -e 編輯任務(wù);
crontab -l 列出所有任務(wù);
crontab -r 移除所有任務(wù);刪除var/spool/cron/username文件
crontab -i 在移除所有任務(wù)時,提示用戶確認(rèn)。
crontab -u root用戶可為指定用戶編輯用戶。

結(jié)果會通過郵件發(fā)送當(dāng)前用戶,如果拒收郵件:

  1. COMMADND > dev/null
  2. COMMADND &> dev/null

定義COMMAND時用到%需要對其轉(zhuǎn)義 放置在單引號中的不需要轉(zhuǎn)義

如因故未能執(zhí)行,下次開機(jī)后都要執(zhí)行一次,使用anacron實(shí)現(xiàn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容