推薦的一篇用多種腳本清理iis日志的代碼第1/3頁
應(yīng)用場(chǎng)合:主要用與虛擬主機(jī),也可用于個(gè)人服務(wù)器
產(chǎn)生背景:2005年某月某日,一向運(yùn)行正常的虛擬主機(jī)死機(jī)了,讓機(jī)房值班人員重啟數(shù)次,都不成,接顯示器進(jìn)系統(tǒng)看,提示:C盤空間不足,半夜還得去機(jī)房處理,到機(jī)房后先斷網(wǎng),再進(jìn)系統(tǒng)發(fā)現(xiàn)有兩個(gè)地方有問題,C:\WINDOWS\system32\LogFiles文件有6G,還有一個(gè)就是Symantec隔離病毒的地方,到網(wǎng)上找了下,最大可能性是我們的虛擬主機(jī)的所有日志都寫在這里,并且沒人知道寫在這里,郁悶,在IIS里看了下,還真是這么回事,日志天天都在長(zhǎng),當(dāng)時(shí)公司訂單很多也沒人關(guān)注這個(gè),當(dāng)時(shí)清理了一下,系統(tǒng)正常,回到公司后把IIS日志改到別的盤了。
解決方案:不過這不是最終解決方法呀,一個(gè)虛擬主機(jī)幾百個(gè)站點(diǎn)呢,有的站點(diǎn)一天就能產(chǎn)生幾百M(fèi)的日志文件,還得及時(shí)清理。
與是有了兩種解決方案:
1.每天清理前60天的日志
2.過段時(shí)間清理一下60天前的日志。
不過哪種方法都得采用技術(shù)處理,人工去刪除 的話除非你很專業(yè),可以查找60天前的日志文件來刪除,不過即便你技術(shù)很好,這種方法也是很費(fèi)時(shí)的,最好的方法是:使用DOS批處理或腳本來實(shí)現(xiàn),可使用到的腳本主要是vbs與js.
在下邊的解決方案里有幾種方法大家可以選擇適合自己的,他們的總的設(shè)計(jì)思路是這樣的:
IIS日志文件的格式是:ex年月日.log 比如:ex071116.log
IIS日志文件存儲(chǔ)位置:默認(rèn)情況下是在:%windir%\system32\LogFiles ,如果您使用的是專業(yè)的IIS管理軟件,里面一般會(huì)讓你設(shè)置相應(yīng)日志目錄
IIS日志清理CMD版:跟據(jù)當(dāng)前時(shí)間計(jì)算出前N天的日期,比如今天是:2007-11-16,前60天的日期就是2007-9-16(程序可以自動(dòng)識(shí)別30天或31天或潤(rùn)月),然后再處理成20070916這樣的格式,然后再組合成ex070916.log這樣的IIS日志文件格式,這樣一來我們就得到的要清理的日志文件名然后,我們?cè)偈褂胐el /s /f d:\iislog\ex070916.log 來清除日志所在文件夾目錄及子目錄下的所有這個(gè)文件名的文件了,從而清除志,但這個(gè)僅僅是清除一天的日志,所以我們還得把這個(gè)批處理加到計(jì)劃任務(wù)里,讓它每天定時(shí)執(zhí)行,這樣一來,所有的計(jì)算機(jī)的日志問題我們就可以不用管了。
IIS日志清理VBS版:VBS版理論是沒有iis版快,因?yàn)樗€要借助腳本驅(qū)動(dòng),而不像cmd版直接使用dos系統(tǒng)的批處理功能快(猜的),VBS畢竟是高級(jí)語言,處理日期的能力用一句話就實(shí)現(xiàn)了,而CMD版得寫半頁。IIS日志清理VBS版的實(shí)現(xiàn)用VBS遍歷IIS日志所在目錄下的所有文件,及文件夾,然后取文件名組合成日期型的,然后當(dāng)前日期-這個(gè)日期,看看是不是超過了設(shè)定的天數(shù),超過的話delete,這種思路有個(gè)好處就是一次可以清除N天前的所有記錄,而不是只是一天的,他可以你CMD版日志清理一樣,把這個(gè)腳本寫到計(jì)劃任務(wù)里,天天運(yùn)行,也可以過一段時(shí)間手動(dòng)運(yùn)行一次。這個(gè)代碼明顯比IIS日志清理CMD版少了。
IIS日志清理JS版:這個(gè)版其實(shí)與IIS日志清理VBS版差不了多少,思路都是一樣的,只是使用的腳本語言不一樣而已,還有就是調(diào)用時(shí)的兩個(gè)參數(shù)里的每一個(gè)參數(shù):目錄,這個(gè)目錄得寫成:D:\\iislog,以前都用vbs還當(dāng)主要腳本,這次主要是要學(xué)C#了,聽說這兩種語言都差不多,正好也練習(xí)下,也沒花多少時(shí)間。
IIS日志清理WSH版:WSH版其實(shí)是最簡(jiǎn)單的,因?yàn)樗募苫潭群芨?,操作過程是這樣的:使用vbs或js生成要處理的文件的文件名,然后再使用WScript.Shell執(zhí)行cmd命令來處理,利用了IIS日志清理CMD版及IIS日志清理VBS版的優(yōu)點(diǎn),這個(gè)也是一次只能處理一天的日志,當(dāng)然您也可以把它改成處理多天的日志。正因?yàn)閃SH集成化程度高,可以執(zhí)行很多操作,所以黑客們都很喜歡這個(gè),用的最多的也就是WScript.Shell,所以一般安全意識(shí)比較高的服務(wù)器提供商都會(huì)把這個(gè)組件給禁用掉,這樣一來,這個(gè)最好用的功能就變成了最不能使用的,通用性最差的了。
欄 目:vb
下一篇:用vbscript實(shí)現(xiàn)隱藏任務(wù)欄圖標(biāo)的腳本
本文標(biāo)題:推薦的一篇用多種腳本清理iis日志的代碼第1/3頁
本文地址:http://mengdiqiu.com.cn/a1/vb/7679.html
您可能感興趣的文章
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 <font color=red>原創(chuàng)&
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10VBS中Select CASE的其它用法
- 01-10VBScript的入門學(xué)習(xí)資料
- 01-10VBScript教程 第十二課VBScript頁面的簡(jiǎn)單樣例
- 01-10VBS教程:正則表達(dá)式簡(jiǎn)介
- 01-10VBS教程:方法-Copy 方法
- 01-10VBS教程:方法-Move 方法


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語法速查及實(shí)例說明
隨機(jī)閱讀
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 04-02jquery與jsp,用jquery
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改