1引言
Crontab在Unix&Linux系統(tǒng)中是一個(gè)古老而優(yōu)久的系統(tǒng)工具,在重慶軌道交通二號線AFC系統(tǒng)中它除了應(yīng)用于AFC中心系統(tǒng)的IBM服務(wù)器中還廣泛地應(yīng)用于18個(gè)車站的數(shù)百臺閘機(jī)中!通過Crontab工具,我們可以控制Unix&Linux操作系統(tǒng)平臺上的任務(wù),即讓系統(tǒng)在特定的時(shí)間、環(huán)境下執(zhí)行特定的任務(wù)。具體來說,通過Crontab工具我們在AFC中心IBM-P650服務(wù)器上實(shí)現(xiàn)了系統(tǒng)的自我管理和ORACLE數(shù)據(jù)庫的周期性、定時(shí)性、自動化的備份功能;利用該工具,我們還可以實(shí)現(xiàn)每天運(yùn)營結(jié)束后,閘機(jī)的自動關(guān)機(jī)功能,到第二天開始運(yùn)營前才啟動,從而達(dá)到降低能耗、提高電子元器件的使用壽命、延長閘機(jī)的使用壽命的目的。對于重慶市特有的高溫、高濕環(huán)境,這點(diǎn)在重慶二號線的AFC車站系統(tǒng)設(shè)備中有著特別重要的實(shí)際意義。
2 Crontab在重慶軌道交通二號線中的應(yīng)用
下列各圖分別是Crontab工具在AFC中心系統(tǒng)IBM-P650服務(wù)器及車站閘機(jī)中的應(yīng)用(注:中心系統(tǒng)IBM-P650服務(wù)器是AIX操作系統(tǒng);車站閘機(jī)是LINUX操作系統(tǒng)):
(圖一)Crontab使車站閘機(jī)實(shí)現(xiàn)自動重啟
(圖二)Crontab實(shí)現(xiàn)IBM服務(wù)器的自動管理
(圖三)Crontab實(shí)現(xiàn)Oracle數(shù)據(jù)庫的每天的自動備份
3 Crontab的實(shí)現(xiàn)機(jī)制及具體實(shí)現(xiàn)
Crontab的實(shí)現(xiàn)主要包括Cron系統(tǒng)進(jìn)程和Crontabs文件;Cron系統(tǒng)進(jìn)程在Unix&Linux操作系統(tǒng)的多用戶模式下運(yùn)行,負(fù)責(zé)運(yùn)行特定的計(jì)劃的任務(wù),Cron進(jìn)程會按照Crontabs文件指定的時(shí)間執(zhí)行命令;Crontabs文件上存儲著指定的命令,由于Crontabs文件是不能通過編輯命令修改的,所以對它的編輯或其它的操作要通過Crontab命令。
Cron進(jìn)程就是我們一般所謂的系統(tǒng)后臺進(jìn)程,它的啟動是系統(tǒng)參考/etc/inittab啟動的,所以它運(yùn)行的狀態(tài)也是一種衡定的后臺進(jìn)程狀態(tài),如果KILL掉,它將會自動重啟。
Cron后臺進(jìn)程執(zhí)行的任務(wù)就是Cron事件,所以在系統(tǒng)中就存在著Crontab事件、At事件、Batch事件Ksh事件等等事件;所有的Cron事件都是能夠被配置的,比如,對于Crontab事件,默認(rèn)狀態(tài)下是每隔60秒將會被探查、運(yùn)行的優(yōu)先級適合于低于默認(rèn)的2級的任何級別、可以同時(shí)運(yùn)行100個(gè),這些所有的配置將可以通過對/var/adm/cron/queuedefs文件的修改得以實(shí)現(xiàn)(該目錄為完整的UNIX操作系統(tǒng)下的文件目錄,不同的系統(tǒng)有可能不一樣,可參考隨機(jī)的相關(guān)說明文檔)。比如,如果任務(wù)將會運(yùn)行在低于默認(rèn)的優(yōu)先級的10級、每隔兩分鐘被探查一次、允許同時(shí)啟動200個(gè)任務(wù),則以下條目將會設(shè)置在/var/adm/cron/queuedefs文件中:c.200j10n120w。
那么c.200j10n120w是什么意思呢?我們可以用下面這個(gè)簡圖來說明:
4 與Crontab相關(guān)的其它方面
與Crontab相關(guān)的還有At和Batch命令。這三個(gè)命令之間道理相似,只是提交給Cron后臺進(jìn)程執(zhí)行的方式不同,雖然也是定時(shí)地執(zhí)行計(jì)劃任務(wù),但應(yīng)用的環(huán)境和具體的要求是不太一樣的。比如At命令是計(jì)劃在將來的某個(gè)時(shí)間執(zhí)行一次任務(wù)或任務(wù)集而Batch命令的目的主要是為了減輕系統(tǒng)立即執(zhí)行的壓力而將執(zhí)行的任務(wù)放在一個(gè)隊(duì)列中,待系統(tǒng)的壓力減輕后再考慮執(zhí)行,比如在CPU負(fù)載低的時(shí)候。但由于在現(xiàn)在的AFC系統(tǒng)中使用的實(shí)際意義并不大且限于篇幅,相關(guān)命令的細(xì)節(jié)請參考相關(guān)的UNIX操作系統(tǒng)文獻(xiàn),在此不一而足。
5 結(jié)論
本文根據(jù)Crontab的原理結(jié)合重慶軌道交通二號線AFC系統(tǒng)的實(shí)際情況建立的AFC中心系統(tǒng)及車站系統(tǒng)的Crontab表,并將其應(yīng)用AFC中心服務(wù)器系統(tǒng)及車站系統(tǒng)設(shè)備中,結(jié)果表明所提出機(jī)理及判據(jù)在理論上是合理的。利用本文所闡述的理論和長期的維護(hù)經(jīng)驗(yàn),能夠比較好地實(shí)現(xiàn)在重慶地區(qū)特有高溫、高濕氣候環(huán)境下,利用有限的系統(tǒng)維護(hù)人員,大大降低系統(tǒng)的能耗、提高系統(tǒng)設(shè)備的使用壽命。最關(guān)鍵的是建立了系統(tǒng)維護(hù)的基本準(zhǔn)則,即系統(tǒng)的優(yōu)化特別是生產(chǎn)型系統(tǒng)的優(yōu)化應(yīng)該盡量地利用系統(tǒng)自身的功能,在吃透系統(tǒng)原理的前提下結(jié)合實(shí)際的應(yīng)用,著重挖掘系統(tǒng)內(nèi)潛力,以便最大限度地提高系統(tǒng)的安全等級,降低系統(tǒng)的風(fēng)險(xiǎn)。