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议阅读本文 。