推荐的一篇用多种脚本清理iis日志的代码第1/3页

   2015-06-30 0
核心提示:专题名称:IIS日志清理专题,CMD版,VBS版,JS版,WSH版

应用场合:主要用与虚拟主机,也可用于个人服务器

产生背景:2005年某月某日,一向运行正常的虚拟主机死机了,让机房值班人员重启数次,都不成,接显示器进系统看,提示:C盘空间不足,半夜还得去机房处理,到机房后先断网,再进系统发现有两个地方有问题,C:\WINDOWS\system32\LogFiles文件有6G,还有一个就是Symantec隔离病毒的地方,到网上找了下,最大可能性是我们的虚拟主机的所有日志都写在这里,并且没人知道写在这里,郁闷,在IIS里看了下,还真是这么回事,日志天天都在长,当时公司订单很多也没人关注这个,当时清理了一下,系统正常,回到公司后把IIS日志改到别的盘了。

解决方案:不过这不是最终解决方法呀,一个虚拟主机几百个站点呢,有的站点一天就能产生几百M的日志文件,还得及时清理。
与是有了两种解决方案:
1.每天清理前60天的日志
2.过段时间清理一下60天前的日志。
不过哪种方法都得采用技术处理,人工去删除 的话除非你很专业,可以查找60天前的日志文件来删除,不过即便你技术很好,这种方法也是很费时的,最好的方法是:使用DOS批处理或脚本来实现,可使用到的脚本主要是vbs与js.

在下边的解决方案里有几种方法大家可以选择适合自己的,他们的总的设计思路是这样的:

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

IIS日志清理CMD版:跟据当前时间计算出前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日志清理JS版:这个版其实与IIS日志清理VBS版差不了多少,思路都是一样的,只是使用的脚本语言不一样而已,还有就是调用时的两个参数里的每一个参数:目录,这个目录得写成:D:\\iislog,以前都用vbs还当主要脚本,这次主要是要学C#了,听说这两种语言都差不多,正好也练习下,也没花多少时间。

IIS日志清理WSH版:WSH版其实是最简单的,因为他的集成化程度很高,操作过程是这样的:使用vbs或js生成要处理的文件的文件名,然后再使用WScript.Shell执行cmd命令来处理,利用了IIS日志清理CMD版及IIS日志清理VBS版的优点,这个也是一次只能处理一天的日志,当然您也可以把它改成处理多天的日志。正因为WSH集成化程度高,可以执行很多操作,所以黑客们都很喜欢这个,用的最多的也就是WScript.Shell,所以一般安全意识比较高的服务器提供商都会把这个组件给禁用掉,这样一来,这个最好用的功能就变成了最不能使用的,通用性最差的了。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 将IIS网站TSL1.0协议升级TSL1.2 兼容小程序
    将IIS网站TSL1.0协议升级TSL1.2 兼容小程序
    官方网站地址:https://www.nartac.com/Products/IISCrypto/ 下载地址:https://www.nartac.com/Products/IISCrypto/Download下载地址:window服务器禁用默认的ssl2.0和ssl3.0只启用启用tls1.2保证安全 转载自:疯狂的瓶子
    02-09
  • 在IIS上配置和测试Perl脚本
    参考文章http://support.microsoft.com/kb/245225
    02-09
  • IIS LUA推荐
    https://github.com/shibayan/iislua 
    02-09
  • thinkphp5 IIS7.5 隐藏index.php的方法
    ?xml version="1.0" encoding="UTF-8"? configurationsystem.webServerrewriterulesrule name="WPurls" enabled="true" stopProcessing="true"match url=".*" /conditions logicalGrouping="MatchAll"
    02-09
  • Win10中的IIS10安装php manager和IIS URL Rewri
    首先是php managerphp manager的最新下载地址是:http://phpmanager.codeplex.com/releases/view/69115打开regedit,找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters右侧的 MajorVersion 是DWORD值,它的值十进制是10,把它改成
    02-09
  • (转)IIS5.1的安装配置并发布ASP.NET网站 iis5.1
    最近跟老师做一个桥梁养护系统的项目,要求用VS2008+Sql Server2000,服务器用IIS。由于之前做过的ASP.NET项目都是用的VS内置的服务器,并没有使用过IIS,第一次搭,花了几个小时,感觉里面的名堂还有点多,所以就顺手记录下来,也供各位参考。第一步,安装II
    02-09
  • ASP.NET IIS Registration Tool (Aspnet_regiis
    https://msdn.microsoft.com/en-us/library/k6h9cz8h.aspxThe ASP.NET IIS Registration tool (Aspnet_regiis.exe) is used to register ASP.NET applications with Internet Information Services (IIS).This topic describes the options, syntax, and othe
    02-09
  • Windows7 IIS安装与配置asp和asp.net(图解)教程
    Windows7 IIS安装与配置asp和asp.net(图解)教
    1.进入Win7的 控制面板的卸载程序2.选择左侧的 打开或关闭Windows功能 。3.现在出现了安装Windows功能的选项菜单,注意选择的项目,我们需要手动选择需要的功能,下面这张图片把需要安装的服务都已经选择了,大家可以按照图片勾选功能。  4.安装完成后,再
    02-09
  • 开发H5程序或者小程序的时候,后端Web API项目在IISExpress调试中使用IP地址,便于开发调试
    开发H5程序或者小程序的时候,后端Web API项目
    开发H5程序或者小程序的时候,后端Web API项目在IISExpress调试中使用IP地址,便于开发调试在我们开发开发H5程序或者小程序的时候,有时候需要基于内置浏览器或者微信开发者工具进行测试,这个时候可以采用默认的localhost进行访问后端接口,一般来说没什么问
    02-09 开发辅助
  • ASP.NET Core 7 Razor Pages项目发布到IIS
    目录项目环境:发布过程:发布过程遇到的问题及解决方法:解决办法:项目环境:    VS2022、.net7.0、SqlExpress10、IIS express10发布过程:在VS2022中,右击项目名称,选择“发布”选项;发布目标选择“文件夹”--指定一个发布的目标文件夹;在IIS中新建
点击排行