作為系統(tǒng)管理員,很多時候我們需要進行很多重復的工作,比如每天開機自動啟動一些服務,定期清理系統(tǒng)垃圾文件等等。所以如果可以創(chuàng)建計劃任務,我們就可以按需有計劃的執(zhí)行重復的工作,為自己省下不少時間,也可以避免一遍遍執(zhí)行時的出錯率。
linux下實現(xiàn)計劃任務主要有以下幾種方法:at命令,batch命令,cron服務以及anacron。
at:指定一個時間執(zhí)行一個任務 (適用一個或多個任務,執(zhí)行一次后就不用)----batch類似at,只是在系統(tǒng)空閑時執(zhí)行而以。
cron:根據(jù)一個時間表自動執(zhí)行任務 (使用一個或多個任務,周期性執(zhí)行)
anacron:在一個指定時間間隔錯過后自動執(zhí)行任務
下面我們就來看一下如何實現(xiàn)。
、 at:
格式:at 時間
例如#at now+3min ----------》進入at編輯模式,并指定3分鐘后執(zhí)行計劃任務
在編輯模式輸入計劃任務命令,多命令<enter>操作,最后Ctrl+D鍵結(jié)束
at也有許多選項,常用的有
-l:列出未執(zhí)行的任務(等同于atq命令)
-d:刪除還未執(zhí)行的額任務(等同于atrm命令)
還可以進入到/var/spool/at目錄里把計劃任務刪除,計劃任務的文件都保存在該目錄里,可以用rm -f 文件名來刪除(以文件的形式刪除計劃任務,因為計劃任務是以文件形式保存在該目錄中)
、 cron
cron作為一個服務,必須先啟動后才可以使用;所以必須安裝vixie-cron-version軟件包,之后啟動服務:service crond start
使用corntab 命令定義cron任務。corntab 又分為系統(tǒng)和用戶級別,我們主要定義用戶級別
#crontab -----------》定義計劃任務
-e :打開并編輯計劃任務 (Crontab –e 編輯的任務不要加入用戶名,默認為當前用戶建立計劃任務)
-l: 列出所有計劃任務
-r:刪除所有計劃任務
-u:指定為某用戶建立計劃
其實執(zhí)行crontab是在/var/spool/cron/下建立了以用戶名命名的文件,里面寫入的即時你手動執(zhí)行crontab的內(nèi)容,所以也可以通過手動建立這個文件的方式指定計劃任務
crontab輸入的命令格式為: * * * * * command,例如:
*/5 * * * * ping -c1 192.168.0.155----------》每隔5秒執(zhí)行 ping -c1 192.168.0.155。
前5段分別代表分,時,天,月,周即:
第一個*星號代表個小時的第幾分鐘:minute 范圍是從0-59
第二個*星號代表每天的第幾個小時:hour 范圍是從0-23
第三個*星號代表每月的第幾個日:day-of-month 范圍從1-31
第四個*星號代表沒年的第幾個月:month-of-year 范圍從1-12
第五個*星號代表每周的星期幾:day-of-week 范圍從0-6,其中0表示星期日
* :匹配對應時間段上的所有時間
/ : 匹配對應時間域上沒隔多久的時間
- : 匹配任意段連續(xù)時間
,:匹配時間域上不連續(xù)的時間
例如:25 * 10 9 * ls var/spool/cron ---------》9月10號25分執(zhí)行l(wèi)s查看var/spool/cron 目錄
5 6 * * * /usr/bin/updatedb ---------》每隔6小時更新locate命令的數(shù)據(jù)庫
另外cron服務時有ACL的,由/etc/cron.allow /etc/cron.deny兩個文件具體定義 ,默認只有root才可以定義cron計劃任務
/etc/cron.allow :僅允許此文件內(nèi)的用戶建立計劃
/etc/cron.deny : 僅拒絕此文件內(nèi)用戶建立計劃 (若cron.allow存在,忽略此文件)
、 anacron: 對cron的補充,他可以讓一些因為關機而錯過執(zhí)行的任務在開機后繼續(xù)執(zhí)行,配置文件為/etc/anacrontab,其內(nèi)容形如:
1 20 cron.daily /etc/cron.daily ---------->對于超過1天未執(zhí)行的任務,在下次開機20分鐘后執(zhí)行
好了,簡單講到這里吧,大家慢慢練習!
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【mszdt.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|