zoukankan      html  css  js  c++  java
  • IIS日志清理(VBS版,JS版)

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

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

    VBS版

    '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:WINDOWSsystem32LogFiles",180 '遍历 
    

      

    JS版

    //IIS日志清理JS版代码(DelIISLog.js) 
    //调用方法: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天前的日志
    

      

  • 相关阅读:
    mysql 安装
    flying-saucer-pdf使用中字符串过长换行出问题的解决办法
    杂想
    关于MATLAB实验结果求交点问题
    关于学习方向问题
    关于读取文件夹中的图片问题
    关于ROC曲线的碎碎念
    win7(64)+vs2013+opencv3.0配置的辛酸路程
    验证模式和辨识模式
    指纹识别认证
  • 原文地址:https://www.cnblogs.com/xiaozi/p/7266866.html
Copyright © 2011-2022 走看看