标签:
原文: http://www.iis.net/learn/manage/provisioning-and-managing-iis/managing-iis-log-file-storage
IIS日志会消耗大量的硬盘空间,有潜在写满整个硬盘空间的风险. 为了解决这个问题很多用户会选择关闭日志.幸运的是 这里有些其它的选择:
你可以根据下面的方案控制硬盘的使用率:
更多请见 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任务自动调用上面的脚本定时清除老日志, 方法步骤如下.
在这http://www.erezbenari.com/IISLogCleaner.exe 下载这个工具 这个不是微软官方的工具
标签:
原文地址:http://www.cnblogs.com/irocker/p/4281539.html