一次性計劃任務的安排: at :安排作業在某一時刻執行一次(一般都是用它)
batch:安排作業在系統負載不重時執行一次
第一步: #service atd start 開啟一次性計劃任務 at 時間
1、絕對的計時方法 midnight noon teatime HH:MM[today] HH:MM[tommorow] HH:mm 星期 HH:MM mm/dd/yy 2、相對的計時方法
now + n minutes now + n hours
now + n day
指定今天下午5:30執行某個命令(假設現在時間中午12:30,2009/9/16) at 5:30pm at 17:30 at 17:30 today at now + 5 hours at now + 300 minutes at 17:30 16.9.2009 at 17:30 9/16/2009
指定的時間都是未到的 我們也可以把我們要執行的命令寫到一個檔案你如 #vi one.txt 在檔案中編輯/bin/echo "#############" > a.txt #at -f one.txt 10:30
at -f 檔案 時間點 at < one.txt 時間點
在某個時間執行某個程式(命令),一定要使用命令的絕對路徑
at 10:56 >/bin/cp /root/* /home/ >bin /echo "11111111" >/root/one.txt
ctrl +d退出 at -l 檢視或atq at -d 或 atrm 刪除計劃任務
at的執行結果和配置檔案
at的結果 通過郵件寄給提交這個命令的使用者
at的配置檔案:限制哪些使用者可以使用at命令 /etc/at.allow 如果這個檔案存在,那麼列在此檔案中的使用者才可以使用at命令, 如果這個檔案不存在則查/etc/at.deny
/etc/at.deny 如果這個檔案存在,則在檔案中列出的使用者 都不能使用at命令
如果兩個檔案都不存在,則只有root使用者可以使用at命令。 如果兩個檔案都存在,而且均為空,則所有使用者都可以使用at命令。
週期性計劃任務的:crond #service crond start 開啟週期性計劃任務
crond 程式搜尋crond檔案並載入記憶體
crontab檔案即/var/spool/cron/目錄下以使用者名稱命名的檔案
crond程式啟動以後,他首先檢查是否使用者設定了crontab檔案,如果沒有轉入“休眠”狀態 釋放系統資源 crond程式每分鐘醒來一次,
檢視crontab檔案決定當前是否有需要執行的命令。 命令執行結束後,任何輸出丟將作為郵件傳送給crontab的所有者。
#crontab -e 編輯週期任務
#crontab -l 檢視計劃任務
#crontab -r 刪除當前的計劃任務
計劃任務書寫的格式:
分 時 天 月 星期
[0--59] [0--23] [1--31] [1--12] [0--7](0 ro 7 is sun)
*/2 3,5,7 1-5
每隔兩分鐘 三點,五點,七點 週一到週五
這些項都不能夠為空,必須填寫
如果以後不需要指定其中幾項,可以用萬用字元“*”表示
每個時間段都可以指定多個值,它們可以用逗號間隔,5-6 */3
命令應該給出絕對路徑
使用者必須具有執行crontab的許可權
/etc/cron.allow /etc/cron.deny
作用與at的相似