一、一次性計劃任務
at命令
功能:安排一個/幾個命令在制定時間運行一次
1、at的命令格式及參數
at [-f 文件名] 時間
at -d 或者
atrm 刪除隊列中的任務
【at生成的文件保存在/var/spool/at目錄下】
at -l 或者
atq 查看隊列中的任務
2、at指定時間的方式
絕對計時方法
midnight noon teatime
hh:mm [today]
hh:mm tomorrow
hh:mm 星期
hh:mm MM/DD/YY 【DD.MM.YY
YYMMDD】
相對計時方法
now + n minutes
now + n hours
now + n days
【示例】
指定在今天下午 17:30 執行某命令(假設現在時間是下午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
【finger [+username] :可查看系統中的計劃任務】
【ps -le | grep atd :可用於查看系統中at進程是否啟動】
【如果at尚未啟動,則用:/etc/rc.d/init.d/atd start 手工啟動】
4、at的執行結果與配置文件
如果/etc/at.allow文件存在,那麼只有列在此文件中的用戶才可以使用at命令;若 /etc/at.allow文件不存在,則檢查/etc/at.deny 文件是否存在。若/etc/at.deny存在,則在此 文件中列出的用戶都不能使用at命令。如果兩個文件都不存在,則只有超級用戶可以 使用at命令。如果兩個文件都存在而且均為空,則所有用戶都可以使用at命令。
batch命令【使用並不多】
1、作用:安排一個或多個命令在系統負載較輕時運行一次(一般情況下負載較輕指平 均負載降到0.8以下)。
2、使用方法同at
二、周期性計劃任務
crontab 命令
1、作用: 用於生成cron進程所需要的crontab文件
2、格式:crontab {-l|-r|-e}
-l 顯示當前的crontab 內容
-r 刪除當前的crontab【全部清除】
-e 使用編輯器編輯當前的crontab文件。
3、crontab文件格式
【minute hour day-of-month month-of-year day-of-week commands 】
【分鐘 小時 天 月 星期幾 命令/腳本】
【分鐘:*/2
:每隔兩分鐘】
【小時:*/1:每隔一個小時
12-14 :12點到14點】
Minute
一小時中的哪一分鐘[0~59]
hour 一天中的哪個小時 [0~23] 【24小時制】
day-of-month 一月中的哪一天 [1~31]
month-of-year
一年中的哪一月 [1~12]
day-of-week 一周中的哪一天 [0~6]
commands 執行的命令
【把知道的具體的都時間值添上,把不知道的時間值都填*】
【crontab文件建立好以後可以到/var/spool/cron目錄確認】
【如果通過查看進程發現crod沒有啟動,則需手動啟動:
/etc/rc.d/init.d/cron start】
4、書寫注意事項
I. 選都不能為空,必須填入
II. 不知道/不需要制定的項目的值使用統配符*表示任何時間
III. 每個時間字段都可以指定多個值,不連續的值用”,”間隔,連續的值用”-”間隔。
IV. 命令應該給出絕對路徑
V. 用戶必須具有運行所對應的命令或程序的權限
【計劃任務還應保存一些額外的信息,如出錯信息等】
5、crontab的配置文件
/etc/crontab
最後幾行,定義了每小時,每天等的具體時間系統的周期執行任務
6、cron配置文件
作用:限制哪些用戶可以使用crontab命令
/etc/cron.allow
/etc/cron.deny
用法:與at類似
三、進程處理方式
1、standalone
獨立運行
2、xinetd
進程托管
3、atd、crond
計劃任務
【附:偽設備/dev/null 類似與黑洞】