如何定期清理 IIS 日志文件?

Luk*_*uke 20 windows iis

我刚刚发现 IIS 无限期地建立日志,并且似乎没有任何 IIS 设置会自动清除旧的日志文件。控制我的 IIS 日志以免它们填满整个硬盘驱动器的最佳方法是什么?

squ*_*man 22

您必须运行计划任务才能执行此操作。这是一个应该可以工作的 Powershell 脚本。

set-location c:\windows\system32\Logfiles\W3SVC1\ -ErrorAction Stop
foreach ($File in get-childitem -include *.log) {
   if ($File.LastWriteTime -lt (Get-Date).AddDays(-30)) {
      del $File
   }
}
Run Code Online (Sandbox Code Playgroud)

这应该清除 30 多天前最后修改的任何内容。将第一行中的路径更改为存储日志文件的位置。还将 -30 更改为您想要保留文件的时间。-30 表示您将删除超过 30 天的任何内容。

如果您不想使用 LastWriteTime,您可以查看这篇文章,其中显示了 FileInfo 对象的不同属性。

  • 在 Windows Server 2008 R2 (PS 2.0) 上,我必须将 Get-ChildItem 调用修改为 `Get-ChildItem *.* -include *.log` (2认同)