Asp.net IIS 7日志文件是否自动删除?

Asp.net IIS 7日志文件是否自动删除?,asp.net,iis-7,Asp.net,Iis 7,IIS 7中是否有自动删除超过指定天数的日志文件的功能 我知道这可以通过编写脚本(并每周运行)或windows服务来实现,但我想知道是否有任何内置功能或类似功能 此外,目前我们关闭了登录,因为它正在堆积大量空间。这会有问题吗?您可以使用“管理工具”>“任务计划程序”创建每天运行的任务 将任务设置为运行以下命令: forfiles /p "C:\inetpub\logs\LogFiles" /s /m *.* /c "cmd /c Del @path" /d -7 此命令适用于IIS7,它删除一

IIS 7中是否有自动删除超过指定天数的日志文件的功能

我知道这可以通过编写脚本(并每周运行)或windows服务来实现,但我想知道是否有任何内置功能或类似功能


此外,目前我们关闭了登录,因为它正在堆积大量空间。这会有问题吗?

您可以使用“管理工具”>“任务计划程序”创建每天运行的任务

将任务设置为运行以下命令:

forfiles /p "C:\inetpub\logs\LogFiles" /s /m *.* /c "cmd /c Del @path" /d -7
此命令适用于IIS7,它删除一周或一周以上的所有日志文件


您可以通过更改
/d
arg值来调整天数。

类似的解决方案,但在powershell中

我已经设置了一个任务来运行powershell,并将以下行作为参数

dir D:\IISLogs |where { ((get-date)-$_.LastWriteTime).days -gt 15 }| remove-item -force
它将删除D:\IISLOgs文件夹中超过15天的所有文件。

单行批处理脚本:

forfiles /p C:\inetpub\logs /s /m *.log /d -14 /c "cmd /c del /q @file"
修改/d开关以更改日志文件在删除前的挂起天数。/s开关也递归子目录


参考:

另一个可行的Powershell一号衬里:

Get-ChildItem -Path c:\inetpub\logs\logfiles\w3svc*\*.log | where {$_.LastWriteTime -lt (get-date).AddDays(-180)} | Remove-Item -force
如果
$\u.LastWriteTime
不起作用,可以使用
$PSItem.LastWriteTime


有关利用IIS LogFiles文件夹HDD空间使用率的更多信息和其他建议,我还建议您写一篇关于此主题的文章。

这正是我所需要的。日志已在异地备份,因此使用此任务删除旧日志对我来说非常有用。简单有效:)完美!另外一个很大的好处是让我意识到
forfiles
命令,谢谢:)我不知道,我同意应该有。我使用PowerShell脚本压缩并归档它们。日志文件有时对获取发票统计数据或调查黑客企图等方面很有用。对于所有的投票、收藏夹和答案,这显然是离题的,属于。