計劃任務
在管理linux系統的時候我們,通常要使用計劃任務,計劃在某個時候讓系統最某些任務。計劃任務又可分爲兩種:1. 一次性 2. 週期性。
一次性任務:at batch
at
at TIME 然後直接回車,即可輸入要執行的命令每輸完一個命令按回車鍵,輸入下一個命令,按ctrl+D結束輸入。執行的結果將會以郵件的方式發送給發起該命令的用戶。at的時間格式有很多比如HH:MM,MMDDYY,MM/DD/YY,now+1min/hour/day
option
-l 查看等待的計劃相當於atq
-d 刪除at任務 相當於atrm
batch
不需要指定時間,在系統空閒的時候自動執行。其他option和at相同。
週期性任務:cron anacron
cron進程名字crond 重啓服務service crond start。cron通過crontab保存用戶定義的計劃任務。
cron分爲兩類:
1. 系統crontab 保存在/etc/crontab
2. 用戶crontab 保存在/var/spool/cron/USERNAME (USERNAME 是發去該cron的用戶名)
用戶crontab有以下幾部分組成:
MIN HOUR DAY MONTH WEEK COMMAND
MIN 的取值範圍有0~59
HOUR 範圍0~23
DAY 1~31
DAY 1~31
WEEK (0和7都表示週日)
MONTH 1~12
* 表示時間域上所有的有效值
- 如3-5 表示連續時間3,4,5
, 離散時間取值
/ 對應時間域上每多次如*/5表示每隔5分鐘
編輯 crontab -e 自動編輯本用戶的crontab的內容,並自動檢查語法錯誤
-l 列出任務
-r 移除所有周期任務
-u 以別人的身份
eg:crontab -u redhat -r
cron在執行命令時必須是開機下,但如果使我們的個人電腦是不可能一直開機。這時我們就需要使用anacron。
anacron指定開機後執行在關機時cron應該執行的命令。同樣對與系統配置文件在/etc/anacrontab,其中的的幾部分:
天數 啓動延遲 標示 run-parts /etc/cron.*
在/etc/cron.weekly/中的內容開始的數字越小,執行次序越高。
對於cron存在訪問控制列表,分別是:/etc/cron.allow和/etc/cron.deny。一般只存在一個文件,如果兩個都不存在只有管理員才能定義計劃,若兩個問價都存在則接受.allow