自动清理IIS日志
软源LOGO
讲述咱程序员自己的故事

位置:软源 »编程 »文章

自动清理IIS日志

coolapp;2015-01-29 01:35:20;浏览:1555

进入服务器界面

将下框内容复制到记事本中,存为 auto_del_iis_logs.vbs 文件。

dim fso,folder,files
set fso = CreateObject("Scripting.FileSystemObject")
dim delCount:delCount=0
dim fileCount:fileCount=0
dim dayNum:dayNum=60 '设定天数;删除60天以前的日志

ProcLogDir "G:\WebLog\"
ProcLogDir "C:\WINDOWS\system32\LogFiles\"

dim msg
title="清理IIS日志("&dayNum&"天以前)" &VBNewLine&VBNewLine

msg=title & msg
msg=msg & "·清理IIS日志完毕;"&vbnewline
msg=msg & "·共有文件" & fileCount & "个;"&vbnewline
msg=msg & "·删除" & delCount & "个。"

msgbox msg

'''''''''''''''''
set folder=nothing
set fso=nothing

'''''''''''''''''
sub ProcLogDir(baseDir)
  dim folder
  Set folder=fso.GetFolder(baseDir & filedir)
  Set sf=folder.SubFolders
  For Each f1 in sf
    deletelog f1.path
  Next
  set sf=nothing 
  set floder=nothing

end sub

sub deletelog(filedir)
  dim folder
  Set folder=fso.GetFolder(filedir)
  '''''''''''''''''
  set files=folder.files
  dim file,fileCount
  fileCount=fileCount+files.count

  For Each file in files
    if (file.DateCreated<now()-dayNum) then
      file.delete
      delCount=delCount+1
    end if
  next

  set files=nothing
  set floder=nothing
end sub

然后右键编辑 auto_del_iis_logs.vbs 文件的属性,选择[脚本]选项卡,勾上 “ 经过指定的秒数之后终止脚本”,下边选择30秒。点确定。(如果日志较多,删除频率较少,服务器太烂,秒数要加大点)

然后会生成 auto_del_iis_logs.wsh 文件。

再用记事本创建一个 auto_del_iis_logs.bat 文件,内容如下框:(涉及的路径改成自己的)

@echo off
%SystemRoot%\System32\WScript.exe "D:\batch\auto_del_iis_logs.wsh" %*
exit

再运行cmd命令打开命令行窗口,使用 at 命令将 auto_del_iis_logs.bat 加入到计划任务中

C:\Documents and Settings\Administrator>at 3:00 /every:su d:\batch\auto_del_iis_logs.bat
新加了一项作业,其作业 ID = 26

C:\Documents and Settings\Administrator>
分享到:
(转载→)