IIS 7日志文件自动删除?
在IIS 7中是否有任何function可以自动删除比指定时间早的日志文件?
我知道这可以通过编写一个脚本(每周运行一次)或一个Windows服务来完成,但是我想知道是否有任何内置的function或者是这样做的。
此外,目前我们正在注销,因为它堆积了大量的空间。 这会是一个问题吗?
您可以使用“pipe理工具”>“任务计划程序”创build每天运行的任务。
将您的任务设置为运行以下命令:
forfiles /p "C:\inetpub\logs\LogFiles" /s /m *.* /c "cmd /c Del @path" /d -7
此命令用于IIS7,它将删除一周或更早的所有日志文件。
您可以通过更改/d
参数值来调整天数。
一行批处理脚本:
forfiles /p C:\inetpub\logs /s /m *.log /d -14 /c "cmd /c del /q @file"
修改/ d开关以更改日志文件在删除之前挂起的天数。 / s开关也recursion子目录。
Ref: http : //debug.ga/iis-log-purging/
类似的解决scheme,但在PowerShell。
我已经设置了一个任务来运行PowerShell的下面一行作为一个参数..
dir D:\IISLogs |where { ((get-date)-$_.LastWriteTime).days -gt 15 }| remove-item -force
它删除15天以前的D:\ IISLOgs文件夹中的所有文件。
另一个可行的Powershell单行:
Get-ChildItem -Path c:\inetpub\logs\logfiles\w3svc*\*.log | where {$_.LastWriteTime -lt (get-date).AddDays(-180)} | Remove-Item -force
如果$_.LastWriteTime
不起作用,则可以使用$PSItem.LastWriteTime
。
有关利用IIS LogFiles文件夹硬盘空间使用情况的更多信息和其他build议,我还build议阅读本文 。