Linux进程管理(第二版) --计划任务
計(jì)劃任務(wù)
一、一次性計(jì)劃任務(wù)
at命令 #功能:安排一個(gè)/幾個(gè)命令在指定時(shí)間(時(shí)刻)運(yùn)行一次
1、at的命令格式及參數(shù)?
at?[-f?文件名]?時(shí)間
at?-d 或者?atrm?刪除隊(duì)列中的任務(wù)
【at生成的文件保存在/var/spool/at目錄下】?
at?-l? 或者?atq?查看隊(duì)列中的任務(wù)
?
2、at指定時(shí)間的方式
??????絕對(duì)計(jì)時(shí)方法[推薦]
合法時(shí)間:midnight?noon?teatime?
hh:mm?[today]?
hh:mm?tomorrow?
hh:mm?星期?
hh:mm?MM/DD/YY[推薦]?【DD.MM.YY? YYMMDD】
?
?????相對(duì)計(jì)時(shí)方法?
now?+?n?minutes?
now?+?n?hours?
now?+?n?days
?
【示例】
指定在今天下午?17:30?執(zhí)行某命令(假設(shè)現(xiàn)在時(shí)間是下午14:30,2011年1月11日)?
at?5:30pm?
at?17:30?[today] #today可省略?
at?now?+?3?hours?
at?now?+?180?minutes?
at?17:30?11.1.11?
at?17:30?1/11/11?
?
3、at使用范例
I.交互方式
at?9:00
II.使用腳本文件方式
1、生成at.script文件
2、使用at命令
at?-f?at.script?9:00?1/11/11 或者 at?<?at.script?9:00
?
附 -at計(jì)劃任務(wù)文件保存在/var/spool/at/目錄下
附-finger?[+username] :可查看系統(tǒng)中的計(jì)劃任務(wù)
如果at尚未啟動(dòng),則用:/etc/rc.d/init.d/atd?start?或?service?atd?start 手工啟動(dòng)
?
4、at的執(zhí)行結(jié)果與配置文件
如果/etc/at.allow文件存在,那么只有列在此文件中的用戶才可以使用at命令;若/etc/at.allow文件不存在,則檢查/etc/at.deny?文件是否存在。若/etc/at.deny存在,則在此文件中列出的用戶都不能使用at命令。如果兩個(gè)文件都不存在,則只有超級(jí)用戶可以使用at命令。如果兩個(gè)文件都存在而且均為空,則所有用戶都可以使用at命令。?
?
batch命令【不常用】
1、作用:安排一個(gè)或多個(gè)命令在系統(tǒng)負(fù)載較輕時(shí)運(yùn)行一次(一般情況下負(fù)載較輕指平?均負(fù)載降到0.8以下)。?
2、使用方法同at,幾乎一模一樣,一般是事務(wù)不太重要時(shí)使用該命令
Man解釋:?batch???executes?commands?when?system?load?levels?permit;?in?other?words,?when?the?load?average?drops?below?0.8,?or?the?value?specified[規(guī)定的]?in?the??invocation[祈禱]?of?atd.
?
?
二、周期性計(jì)劃任務(wù)
crontab?命令
1、作用:?用于生成cron進(jìn)程所需要的crontab文件
?
2、格式:crontab?{-l|-r|-e}?
-l? 顯示當(dāng)前的crontab?內(nèi)容
-r 刪除當(dāng)前的crontab【全部清除,并不建議用】?
-e 使用編輯器編輯當(dāng)前的crontab文件。
?
3、crontab文件格式?
【minute?hour?day-of-month?month-of-year?day-of-week?commands?】
【分鐘小時(shí)?天?月?星期幾?命令/腳本】
?
Minute 一小時(shí)中的哪一分鐘[0~59]?
hour? 一天中的哪個(gè)小時(shí)?[0~23]?【24小時(shí)制】
day-of-month? 一月中的哪一天?[1~31]?
month-of-year? 一年中的哪一月?[1~12]?
day-of-week? 一周中的哪一天?[0~6]?
commands? 執(zhí)行的命令
【分鐘:*/2 :每隔兩分鐘】
【小時(shí):*/1:每隔一個(gè)小時(shí) 12-14 :12點(diǎn)到14點(diǎn)】
?
【把知道的具體的都時(shí)間值添上,把不知道的時(shí)間值都填*】
E.g
*/2?12-14?*?3-6,9-12?1-5?/bin/sh?/root/cron.script?>?/dev/null?2>?/root/cron.err
?
?
4、書寫注意事項(xiàng)
I. 時(shí)間值選都不能為空,必須填入
II. 不知道/不需要制定的項(xiàng)目的值使用統(tǒng)配符*表示任何時(shí)間
III.每個(gè)時(shí)間字段都可以指定多個(gè)值,不連續(xù)的值用”,”間隔,連續(xù)的值用”-”間隔。?
IV. 命令應(yīng)該給出絕對(duì)路徑
V. 用戶必須具有運(yùn)行所對(duì)應(yīng)的命令或程序的權(quán)限
? VI.計(jì)劃任務(wù)還應(yīng)保存一些額外的信息,如出錯(cuò)信息等
?
5、crontab的配置文件 /etc/crontab
#舊版的Linux最后幾行,定義了每小時(shí),每天等的具體時(shí)間系統(tǒng)的周期執(zhí)行任務(wù)
?
6、cron配置文件
作用:限制哪些用戶可以使用crontab命令,作用與at相同
/etc/cron.allow
/etc/cron.deny
?
附-crontab文件建立好后,可以在/var/spool/cron/目錄中找到,可以查看文件其中的內(nèi)容:more?/var/spool/cron/root,得到的信息如同crontab?-l
?
附-如果crod沒(méi)有啟動(dòng),需手動(dòng)啟動(dòng):/etc/rc.d/init.d/crond?start
三、進(jìn)程處理方式
1、standalone 獨(dú)立運(yùn)行,持續(xù)駐留系統(tǒng),消耗系統(tǒng)資源,監(jiān)聽(tīng)客戶請(qǐng)求
2、xinetd 進(jìn)程托管,互聯(lián)網(wǎng)超級(jí)守護(hù)進(jìn)程,由xinetd來(lái)監(jiān)聽(tīng)客戶請(qǐng)求,并將之發(fā)送給相關(guān)進(jìn)程,而不是服務(wù)親自監(jiān)聽(tīng)
3、atd、crond 計(jì)劃任務(wù),每隔一分鐘,從睡眠中醒來(lái)并檢查是否有需要執(zhí)行的任務(wù)
?
附-為了安全起見(jiàn),定時(shí)任務(wù)以及后面的Shell腳本,都要寫命令的絕對(duì)路徑!
總結(jié)
以上是生活随笔為你收集整理的Linux进程管理(第二版) --计划任务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 回首2010
- 下一篇: Linux进程实践(3) --进程终止与