[译]管理IIS日志的存储
原文:?http://www.iis.net/learn/manage/provisioning-and-managing-iis/managing-iis-log-file-storage
?
Overview
IIS日志會消耗大量的硬盤空間,有潛在寫滿整個硬盤空間的風險. 為了解決這個問題很多用戶會選擇關閉日志.幸運的是 這里有些其它的選擇:
- 壓縮日志文件夾
- 把日志文件夾轉移到遠程系統上去
- 通過script刪除老的日志Delete old log files by script.
- 通過IIS Log File Cleaner 刪除老的日志.
你可以根據下面的方案控制硬盤的使用率:
- 通過減少不必要的字段減少日志大小
- 根據網站和應用程序創建獨立的日志
- Preserve memory resources by using centralized binary logging.
更多請見?Configuring Logging in IIS.
壓縮日志文件夾
IIS日志文件壓縮原始大小的2%. 通過下面的方法壓縮日志文件夾. 執行下面的步驟前請確保你擁有管理員權限.
這是個減少日志占用硬盤空間的簡單方法, 不是最終的解決方案. 然后以為日志文件一天天的增漲最后還是會沾滿硬盤空間.
如果日志文件夾下有大量的日志,壓縮日志文件夾的過程可能會稍長一些,建議在網站服務器的非高峰期壓縮日志文件夾.
將日志文件夾移到遠程系統上去
IIS日志文件默認存儲在IIS服務器的 %SystemDrive%\inetpub\logs\LogFiles ?下面.你可以把IIS日志文件夾移去一個有更多硬盤空間的服務器上面去.
將IIS日志文件夾設為遠程服務器的方法步驟如下:
更多請見?Configuring Permissions for Remote Logging.
Note: 如果你像將日志文件寫到一個不同domain的遠程服務器上請看看這篇文章?Setting Up a Null Session for Cross-Domain Logging.
更多請見?Remote Logging.
使用腳本刪除老的日志
你可以運行腳本自動刪除老日志.?
下面的 VBScript 會堅持日志的日期 刪除老的日志 下面的腳本刪除30天以前的日志
sLogFolder = "c:\inetpub\logs\LogFiles" iMaxAge = 30 'in days Set objFSO = CreateObject("Scripting.FileSystemObject") set colFolder = objFSO.GetFolder(sLogFolder) For Each colSubfolder in colFolder.SubFolders Set objFolder = objFSO.GetFolder(colSubfolder.Path) Set colFiles = objFolder.Files For Each objFile in colFiles iFileAge = now-objFile.DateCreated if iFileAge > (iMaxAge+1) then objFSO.deletefile objFile, True end if Next Next上面的腳本會掃描所有的子文件夾, 所以他會處理所有網站的日志. 如果你想限制只掃描一個網站的話修改第一行的路徑就可以了.
通過下面的命令行手動運行腳本:
cscript.exe c:\scripts\retentionscript.vbs
在任務計劃程序里面自動調用上面的腳本定時清除老日志
你可以創建一個windows任務自動調用上面的腳本定時清除老日志, 方法步驟如下.
使用IIS Log Cleaner Tool刪除老日志
在這http://www.erezbenari.com/IISLogCleaner.exe 下載這個工具 這個不是微軟官方的工具
轉載于:https://www.cnblogs.com/irocker/p/managing-iis-log-file-storage.html
總結
以上是生活随笔為你收集整理的[译]管理IIS日志的存储的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大家看看这个参数inctype你是否使用
- 下一篇: HTML5本地存储 localStora