很多使用Windows IIS的站长可能都会遇到这个问题,就是服务器的IIS日志增长经常会导致磁盘空间被占满,而IIS也没有自动删除日志的功能,因此需要经常关注即时清理日志,因此我这里就介绍一个能够自动删除IIS日志的程序。

  这个删除程序的功能很简单,每天自动删除N天前的日志(时间根据情况自己设置,一般设置为30天),可以使用DOS批处理或VBS脚本来实现。

  在下边的解决方案里请大家可以选择适合自己的,总体设计思路是这样的:

  IIS日志文件的格式是:ex年月日.log 比如:ex071116.log

  IIS日志文件存储位置:默认情况下是在:%windir%\system32\LogFiles ,如果您使用的是专业的IIS管理软件,里面一般会让你设置相应日志目录。

  IIS日志清理批处理版:跟据当前时间计算出前N天的日期,比如今天是:2007-11-16,前60天的日期就是2007-9-16(程序可以自动识别30天或31天或润月),然后再处理成20070916这样的格式,然后再组合成ex070916.log这样的IIS日志文件格式,这样一来我们就得到的要清理的日志文件名然后,我们再使用del /s /f d:\iislog\ex070916.log 来清除日志所在文件夹目录及子目录下的所有这个文件名的文件了,从而清除志,但这个仅仅是清除一天的日志,所以我们还得把这个批处理加到计划任务里,让它每天定时执行,这样一来,所有的计算机的日志问题我们就可以不用管了。

成年人必须看的性科普知识,一场迟到的性教育(下)

  IIS日志清理VBS版:VBS版理论是没有iis版快,因为他还要借助脚本驱动,而不像cmd版直接使用dos系统的批处理功能快(猜的),VBS毕竟是高级语言,处理日期的能力用一句话就实现了,而CMD版得写半页。IIS日志清理VBS版的实现用VBS遍历IIS日志所在目录下的所有文件,及文件夹,然后取文件名组合成日期型的,然后当前日期-这个日期,看看是不是超过了设定的天数,超过的话delete,这种思路有个好处就是一次可以清除N天前的所有记录,而不是只是一天的,他可以你CMD版日志清理一样,把这个脚本写到计划任务里,天天运行,也可以过一段时间手动运行一次。这个代码明显比IIS日志清理CMD版少了。

  IIS日志清理CMD版代码(DelIISLog.bat)代码如下:

@echo off  title  ::设置当前日期前多少天或后多少天  set/a beforedays=-3  ::设置目录所在位置  set dir="F:\log\"  ::当前日期转换为天数并进行计算  call :Date2Day %date:~0,10% days  set/a days=%days%%beforedays%  call :Day2Date %days% lastdate  ::计算完毕,生成想要的字符组合  set okstr=ex%lastdate:~2,6%.log  ::删除这些文件  del del /f /s /q %dir%\%okstr%  cmd /k  :Date2Day  setlocal ENABLEEXTENSIONS  for /f "tokens=1-3 delims=/-, " %%a in ('echo/%1') do (  set yy=%%a & set mm=%%b & set dd=%%c  )  set /a dd=100%dd%%%100,mm=100%mm%%%100  set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2  set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633  endlocal&set %2=%j%&goto :EOF  :Day2Date  setlocal ENABLEEXTENSIONS  set /a i=%1,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a  set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5  set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10  (if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)  endlocal&set %2=%yy%%mm%%dd%&goto :EOF

  IIS日志清理VBS版代码(DelIISLog.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 "D:\IISLogTest",20 '遍历

转载于:https://www.cnblogs.com/liuxinyufx/p/4211993.html

IIS日志自动删除程序 收藏相关推荐

  1. Python 8行代码模拟鼠标自动删除微信收藏

    上回我们提到了用 pyuserinput 进行模拟键盘鼠标操作,结果发现很多同学都回复无法安装成功,即便安装成功了还是存在很多问题.确实,pyuserinput存在不少问题,包括其安装的pymouse ...

  2. 如何使win10避免自动删除程序文件(疑似病毒),且使该文件能运行

    需要解决的问题: 在win10中,即使你关闭了类似于电脑管家的杀毒软件,疑似病毒的程序或文件也是会被自动删除.这会使我们在一些场景下会非常被动.那么如何解决这一问题呢? 解决: 方法:在win10安全 ...

  3. Python 8行代码模拟鼠标自动删除微信收藏,Python帮你撩妹!

    上回我们提到了用 pyuserinput 进行模拟键盘鼠标操作,结果发现很多同学都回复无法安装成功,即便安装成功了还是存在很多问题.确实,pyuserinput存在不少问题,包括其安装的pymouse ...

  4. logback1.1.11日志无法自动删除

    项目使用logback记录日志,版本为1.1.11,配置了日志自动删除逻辑(应用启动就删除过往日志),但是往期日志文件始终没有被删除,越积越多,logback配置如下: <?xml versio ...

  5. IIS日志-网站运维的好帮手

    目录 IIS日志包含了哪些信息 IIS日志的配置 如何分析IIS日志 推荐的IIS日志分析方法 IIS日志中的异常记录 再谈 scwin32status=64 寻找性能问题 寻找可改进的目标 程序架构 ...

  6. mysql二进制日志被删除无法启动_mysql二进制日志文件出错导致mysql服务无法启动...

    今天打开phpmyadmin发现连不上mysql数据库,重启mysql启动不起来,查看日志发现如下错误 mysqld: File '.\mysql-bin.000370' not found (Err ...

  7. 【办公类-13-01】20220703python模拟鼠标 删除“微信收藏“

    背景需求: 模仿CSDN上已有的"python模拟鼠标删除微信收藏"的进行可行性练习. 软件准备及设置: 1.确定坐标位置的软件下载 下载一个"看鼠标"的软件. ...

  8. 对mysql日志进行操作的总结包括 启用,过期自动删除 等

    近段时间一直在研究mysql的日志系统,在网上看了N多mysql日志操作的文章,但都过于零乱,为了让自己以后不再搞忘,特作出以下总结: 1. 以前我错误的认为mysql的日志可以恢复到任何时间的状态, ...

  9. mysql 删除过期日志_【转】对mysql日志进行操作的总结包括 启用,过期自动删除 等...

    近段时间一直在研究mysql的日志系统,在网上看了N多mysql日志操作的文章,但都过于零乱,为了让自己以后不再搞忘,特作出以下总结: 1. 以前我错误的认为mysql的日志可以恢复到任何时间的状态, ...

最新文章

  1. 【linux】top命令详解
  2. intellij (org.jdom.input.JDOMParseException) Error on line 1: 前言中不允许有内容。
  3. 【java】之读取InputStream流
  4. Android View 事件分发机制详解
  5. 5.03 列出表的索引
  6. 判断一个字符串是否另一个字符串的右移后的
  7. 【风马一族_xml】xmlp之dtd1
  8. 惠普打印机驱动程序安装失败解决
  9. 程序员VS产品经理的世纪之争
  10. 数控技能大赛计算机程序员,广西选手获第九届全国数控技能大赛数控程序员赛项一等奖...
  11. java基础猜拳游戏
  12. 随便拍几张照片赚了3K,近期的风口视频项目
  13. 特征金字塔(FPN)
  14. sqlDbx连接mysql 及乱码
  15. 图解pandas的数据合并merge
  16. 作为程序员,对中年危机的思考
  17. Python实现对图片,文件批量重命名
  18. 内发光html,如何使用css3实现字体内发光效果(详解)
  19. 大型网站技术架构 读书笔记3 架构师
  20. VC中GetLastErro返回的错误码

热门文章

  1. 2021 IEEE热门AI话题盘点:模仿生物大脑打造神经网络、GPT3“不当言论”惹关注…...
  2. “让技术做好事”,最特殊的创投在大湾区成立
  3. 为了一个科研idea,博士生们连冥想、巫毒仪式都用上了|Reddit热议
  4. 潘建伟团队又创世界纪录!实现500公里量级现场光纤量子通信
  5. 微软看了下“打工人”的脑电波,难怪视频会议总犯困!斯坦福:女性尤甚
  6. 14.7倍推理加速、18.9倍存储节省!北航、商汤、UCSD提出首个点云二值网络 | ICLR 2021...
  7. 国内首个手机AR实景驾驶导航上线,还能识别车辆行人,搜狗地图出品
  8. 大S变汪太!与汪小菲注册结婚
  9. bash变量和逻辑运算
  10. 技术网站 --人人都是产品经理