我刚刚发现 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 对象的不同属性。