關(guān)鍵字:windows2003 , winrar ,自動(dòng)壓縮,命令格式
描述:使用過(guò)awstats的用戶(hù)應該有這樣的體會(huì ),日志分析放在一個(gè)遠程的服務(wù)器上,每天都要去web服務(wù)器上下載日志,用于分析統計,可是日志文件有的非常的的,直接下在很不方便,所以只有通過(guò)壓縮日志取得更快的傳輸方式。
聲明:本文是我經(jīng)過(guò)好幾天的研究實(shí)驗后得出的經(jīng)驗,如果轉載請注明出處:
http://www.anywolfs.com/liuhui/blogedit.asp?id=84--------------------------------------
100M的日志壓縮完可能只有2M多,具體的比例我沒(méi)有認真看過(guò)。
我這里把winrar裝在了D:/program files/winrar下面,下面著(zhù)段代碼我放在了d:/autorar/的rar.bat文件里面,然后通過(guò)系統的任務(wù)計劃去自動(dòng)運行這個(gè)文件:
rar.bat文件的內容如下:
cd
cd\
d:
cd program files/winrar
rar a D:\autoRar\rar\le.cn\ -m4 -ibck -ep -ilogD:\autoRar\err_log\rar.log -agYYMMDD -inul -tn8h30m -t E:\iis_logfiles\W3SVC1
cd
rar a D:\autoRar\rar\le.net\ -m4 -ibck -ep -ilogD:\autoRar\err_log\rar.log -agYYMMDD -inul -tn8h30m -t E:\iis_logfiles\W3SVC4725197
cd
rar a D:\autoRar\rar\hd\ -m4 -ibck -ep -ilogD:\autoRar\err_log\rar.log -agYYMMDD -inul -tn8h30m -t F:\iis_move\W3SVC489766979
我來(lái)解釋下上面這段代碼哈:
cd
cd\
d:
cd program files/winrar
這些都是dos命令不用我來(lái)解釋吧?當前目錄切換成winrar的安裝目錄,這樣我們就進(jìn)入了rar的安裝目錄了
只有進(jìn)入winrar的安裝目錄,下面的rar.exe可執行才能直接使用,否則需要帶絕對路徑:
rar a D:\autoRar\rar\le.net\ -m4 -ibck -ep -ilogD:\autoRar\err_log\rar.log -agYYMMDD -inul -tn8h30m -t E:\iis_logfiles\W3SVC4725197
這段代碼的意思呢,調用rar.exe可執行文件。
a 用于創(chuàng )建時(shí)使用,及創(chuàng )建一個(gè)rar文件。
D:\autoRar\rar\le.net\ 這是我存放創(chuàng )建的新壓縮文件包的路徑,及rar會(huì )將文件壓縮以后放在這個(gè)目錄下面。
-m4:開(kāi)關(guān) -M<n> - 設置壓縮方式,n有幾種方式:
-m0 存儲 添加文件到壓縮文件但是不壓縮
-m1 最快 最快速的方法 (最低的壓縮比)
-m2 快速 快速壓縮方法
-m3 標準 標準 (默認) 壓縮方法
-m4 較好 較好的壓縮方法 (較高的壓縮比)
-m5 最優(yōu) 最優(yōu)的壓縮方法 (最高壓縮比但是速度也最慢)
-ibck:在后臺運行 WinRAR
-ep:名稱(chēng)中排除路徑,包含此開(kāi)關(guān)時(shí),文件在加入壓縮文件時(shí)不會(huì )包含路徑信息。因為這個(gè)對我沒(méi)用,我就把路徑去除了。
-ilog[文件名]:記錄錯誤到文件中 -ilogD:\autoRar\err_log\rar.log意思就是把壓縮過(guò)程中如果有產(chǎn)生錯誤,就防置在ilogD:\autoRar\err_log\下的rar.log文件中。
-AG[格式]: 以當前日期與時(shí)間生成壓縮文件名。 -agYYMMDD 的意思就是以?xún)晌粩底值哪暝氯丈蓃ar文件,比如今天生成的日志文件名稱(chēng)就是:061018.rar 。
-inul :禁用錯誤信息。這個(gè)我想很多人可能都不明白,意思就是如果rar出現錯誤,它就會(huì )彈出對話(huà)框向用戶(hù)提示,同時(shí)任務(wù)也會(huì )暫停,直到用戶(hù)確認以后任務(wù)才會(huì )繼續或是被取消。如果使用上面的開(kāi)關(guān)命令,就不會(huì )再有什么對話(huà)框,會(huì )將任務(wù)執行到完成為止,并把錯誤信息寫(xiě)在D:\autoRar\err_log\rar.log里面。
-tn[時(shí)間]: 處理比指定時(shí)間新的文件。 -tn8h30m 意思就是處理最近8個(gè)小時(shí)30分內生成的文件。這里要注意,在winrar軟件的幫助文件里里面提示是這么說(shuō)的:
-TO<時(shí)間> - 處理比指定時(shí)間舊的文件
使用此開(kāi)關(guān)時(shí),只處理比指定時(shí)間還舊的那些文件,時(shí)間字符串的格式為:
[<n日>d][<n時(shí)>h][<n分>m][<n秒>s]
例如,使用開(kāi)關(guān) -tn15d 可處理文件較舊于 15 天的,以及 -tn2h30m 則處理文件較
舊于 2 時(shí) 30 分的。
-TN<時(shí)間> - 處理比指定時(shí)間新的文件
使用此開(kāi)關(guān)時(shí),只處理比指定時(shí)間還新的那些文件,時(shí)間字符串的格式為:
[<n日>d][<n時(shí)>h][<n分>m][<n秒>s]
例如,使用開(kāi)關(guān) -tn15d 可處理最近 15 天的文件,以及 -tn2h30m 則處理最近 2 時(shí) 30 分的文件。
大家都注意到這里有問(wèn)題吧,因為在舉例中它兩個(gè)都是使用-tn。而不是有一個(gè)是-to。所以我寫(xiě)的是-tn,且實(shí)現了我想要的目標。
-T - 壓縮后測試文件 。
E:\iis_logfiles\W3SVC4725197 :這里的意思就是日志所在的目錄,iis自動(dòng)生成的日志我指定在這個(gè)文件夾下。
上面這么做實(shí)現的目的是壓縮昨天的日志文件成一個(gè)rar文件,不過(guò)我不知道上面這段命令中存在什么錯誤,在D:\autoRar\err_log\rar.log里面每天都會(huì )記錄一條錯誤,意思是當天的日志無(wú)法壓縮,因為它正在被使用。
也就是說(shuō)我上面的命令實(shí)際上壓縮了今天和昨天兩天的日志,但是因為今天的壓縮不了,我又跳過(guò)了錯誤,所以達到我的目的壓縮了昨天的日志文件。
我的awstats不是適時(shí)統計的,只分析統計昨天的iis記錄。
上面的命令我存在了web服務(wù)器上,之后我在awstats程序的服務(wù)器上通過(guò)wget下載到本地,再解壓縮,然后再分析,上面有三行命令,是我在壓縮三個(gè)站點(diǎn)的日志。
之后我通過(guò)windows2003系統自帶的任務(wù)計劃,自動(dòng)在一定的時(shí)間內執行這個(gè)rar.bat文件。
以后我會(huì )寫(xiě)出怎么實(shí)現wget文件然后怎么實(shí)現解壓縮文件,winrar的命令具體的還需要大家去查看winrar的幫助文件。
相關(guān)技術(shù)文檔:winrar 的命令行格式在 windows2003 下的應用:
http://www.anywolfs.com/liuhui/article.asp?id=84winrar 的命令行格式在 windows2003 下的應用 二 --解壓日志
http://www.anywolfs.com/liuhui/article.asp?id=93winrar 命令行簡(jiǎn)體中文說(shuō)明
http://www.anywolfs.com/liuhui/article.asp?id=256WGET 中文命令行使用說(shuō)明參考:
http://www.anywolfs.com/liuhui/article.asp?id=86[本日志由 jothui 于 2008-08-29 10:30 AM 編輯]