自動清理w3svc的檔案

2022-03-30 14:13:04 字數 3269 閱讀 8531

防止iis日誌檔案在windows server上使用過多磁碟空間,壓縮和截斷日誌檔案以節省磁碟空間

你有沒有注意到iis伺服器似乎慢慢占用磁碟空間?

如果您要託管許多**或一些高流量**,那麼消耗大部分硬碟可能並不那麼慢。

你檢查通常的罪魁禍首,如資料庫日誌檔案,臨時檔案等,但不起眼的iis網路日誌可能是罪魁禍首。

預設情況下,託管的每個iis站點將開始將web日誌記錄到%systemdrive%\ inetpub \ logs \ logfiles中,並且它將每天建立乙個新檔案。

對於某些**來說,這不是什麼大問題,因為檔案大小可能只有10kb到1000kb,但對於其他**,每個檔案每天都可以超過100mb。 

如果您將日誌檔案儲存在系統驅動器上,這可能會很快成為問題,實際上建議您不要這樣做,但當然它正在發生。

為了加劇這個問題,日誌檔案歷史不會被截斷,它將永遠每天都在建立乙個新檔案。

我前幾天登入到iis伺服器,發現日誌已經增長到50gb以上。

您可以採取幾個步驟來避免此問題。

您可以採取的一種措施是壓縮日誌目錄。

如果您需要保留所有日誌歷史記錄,這是乙個有用的選項。

由於日誌檔案只是每條記錄的一行文字,因此可以通過壓縮大大減少其檔案大小。 

要自動壓縮所有日誌檔案和任何新檔案,請右鍵單擊widows explorer中的logfiles資料夾,然後選擇「屬性」。

然後單擊底部的「高階」按鈕。

在下乙個螢幕上,選中「壓縮內容以節省磁碟空間」核取方塊。

賽普拉斯北

長期解決方案是確定實際需要保留多少天的日誌,並定期刪除早於此的日誌。

在我的情況下,我真的不需要超過30天的日誌,所以我可以刪除超過30天的所有內容。

此解決方案的第一部分是建立乙個vb指令碼來刪除檔案。 

[ 有空閒時間?

]

slogfolder = 「c:\ inetpub \ logs \ logfiles」 

imaxage

= 30

'天設定objfso = createobject(「scripting.filesystemobject」)

set colfolder = objfso.getfolder(slogfolder)

對於colfolder.subfolders中的每個colsubfolder

設定objfolder = objfso。 getfolder(colsubfolder.path)

為colfiles中的

每個objfile

設定colfiles = objfolder.files

ifileage = now-objfile.datecreated

如果ifileage>(imaxage + 1)則

objfso.deletefile objfile,true

end if

next

next

編輯此指令碼以將slogfolder指向您的實際日誌目錄,並將imaxage變數指向您要保留日誌的天數。

該指令碼將遞迴迴圈遍歷logfiles目錄並刪除早於閾值的檔案。

您可以通過從命令提示符執行以下命令來手動執行此指令碼:

cscript.exe c:\path-to-your-scripts\scriptname.vbs

最後,要完成自動化,請設定計畫任務以執行該指令碼。

使用windows任務計畫程式,建立乙個新任務並將觸發器設定為每天執行(或任何對您有意義的間隔)。

建立乙個如下所示的新action:

賽普拉斯北

只需將指令碼檔案的路徑放在arguments文字框中。

就是這樣!

您的日誌檔案現在將被檢查,您將避免iis伺服器安裝常見的可用磁碟空間的緩慢消耗。 

很多人在問我:

1、windows server 2008 計畫任務在**配置?

2、windows server 2008 可以配置每分鐘或是每小時執行我的任務嗎?

答案是:可以!

首先windows server 2008不同於其他伺服器作業系統和windows server 2003有著很大的區別,計畫任務的名稱是「任務計畫程式」不在控制面板裡,而是在「管理工具」裡。

由於伺服器需要做些任務,定時執行,自己寫程式吧,麻煩,所以採用bat進行代替操作,網路上很多人都在說每分鐘執行怎麼配置,今天我們就配置一下。

開啟「任務計畫程式」–點選「任務計畫程式庫」在右則會看到操作項裡有「建立基本任務」和「建立任務」如圖所示:

點選「建立任務」後如圖所示:填寫好相應的名稱和勾選好必要的條件

選擇「觸發器」選項,點選「新建」,建立任務執行時間,「重複任務間隔」這個選擇後,後面有時間選擇,是每小時,還是每分,可自己選擇後再修改時間,再確定。

再來配置需要執行的「操作」,就是選擇所寫的程式或是bat檔案,這裡很重要的配置是選擇bat檔案後,在「起始於(可選)」這裡一定要填寫相應執行程式或是bat檔案的所在目錄,要不然是執行不成功的。

特別說明:我差點被騙了,認為windows計畫任務是精確不到分鐘級別的,主要是看到「重複時間間隔(p)」右邊沒有「1分鐘」選項,如下圖所示:

其實,它除了下拉選擇外,還可手動修改時間值,比如上面的「1分鐘」!!!

新增後,列表欄中會出現新增的計畫任務。

參考文獻: 

解決IIS無法啟動w3svc

1 首先在cmd命令列中輸入 fsutil resource setautoreset true c 2 然後在執行services.msc 3 找到windows process activation service服務 啟動該服務,啟動型別 自動 4 繼續找到world wide web pub...

IIS無法啟動w3svc的解決方法

解決iis無法啟動w3svc,供大家參考,具體內容如下 1 首先在cmd命令列中輸入 fsutil resource setautoreset true c 2 然後在執行services.msc 3 找到windows process ac程式設計客棧tivation service服務 啟動該服...

頻發的W3SVC錯誤解決方法 續

昨天雖然配置了metabase.xml,但web仍會因為w3svc的錯誤而停止,直至幾分鐘後恢復,狀態不穩定。於是今天又做了以下設定 1.去掉應用程式池 的所有選項勾。2.加在web園的程序數,我設定了10,這樣一來,系統會根據實際情況在程序中增加w3wp.exe,對系統的cpu和記憶體是個很大的考...