IIS日志清理(VBS版,JS版)

IIS默认日志记录在C:\WINDOWS\system32\LogFiles,时间一长,特别是子站点多的服务器,一个稍微有流量的网站,其日志每天可以达到上百兆,这些文件日积月累会严重的占用服务器磁盘空间。有必要对他们进行定期删除。

测试了一下网络上收集来的日志清理脚本,记录一下。自动清除日志目录下所有日志文件夹180天以前的日志文件,亲测有效。

 

VBS版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'IIS日志清理VBS版代码(DelIISLog.vbs)
'调用方法:DelIISLog "IIS日志所在路径",保留多少天的IIS日志
'遍历IIS日志文件夹下的所有文件及子文件夹下的文件
Function DelIISLog(IISLogPath,KeepDays)
on error resume next
Set oFso = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFso.GetFolder(IISLogPath)
Set oSubFolders = oFolder.SubFolders '得到该目录下所有的文件夹的集合
Set oFiles = oFolder.Files '得到该目录下所有的文件的集合
'第一步处理当前目录下的所有文件
For Each oFile In oFiles '遍历所有文件
if right(oFile.name,3)="log" then
oDate=cdate("20" & mid(oFile.name,3,2) & "-" & mid(oFile.name,5,2) & "-" & mid(oFile.name,7,2))
if date-oDate > KeepDays then oFile.delete '判断是不是要处理的IIS日志文件,如果是的话直接删除
end if
Next
'第二步处理当前目录下的所有目录,进行递归调用
For Each oSubFolder In oSubFolders
DelIISLog oSubFolder.Path,KeepDays '递归
Next
End Function
DelIISLog "C:\WINDOWS\system32\LogFiles",180 '遍历

  

JS版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//IIS日志清理JS版代码(DelIISLog.js) <br>//调用方法:dellogfile(180),保留多少天的IIS日志function dellogfile(beforedays)
{
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var dir = fso.GetFolder("c:\\WINDOWS\\system32\\LogFiles");    //改成你的 IIS 日志目录
    for (var fc = new Enumerator(dir.SubFolders); !fc.atEnd(); fc.moveNext())
   {
        if (fc.item().name.substr(0,5) == "W3SVC")
       {
            for (var logfiles = new Enumerator(fc.item().Files); !logfiles.atEnd(); logfiles.moveNext())
     {
                var fileName = logfiles.item().name;
                var year = "20" + fileName.substr(2, 2);
                var mouth = fileName.substr(4, 2);
                var day = fileName.substr(6, 2);
                var days = Math.round(((new Date()).getTime() - Date.UTC(year, mouth - 1, day)) / 1000 / 60 / 60 / 24);
                if (days >= beforedays) logfiles.item().Delete();
            }
        }
    }
}
 
dellogfile(180);//删除180天前的日志

  

posted @   Bypass  阅读(680)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示