系统清理脚本:推荐的一篇用多种脚本清理iis日志的代码

应用场合:主要用和虚拟主机也可用于个人服务器
产生背景: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管理软件Software里面般会让你设置相应日志目录
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所以般安全意识比较高服务器提供商都会把这个组件给禁用掉这样这个最好用功能就变成了最不能使用通用性最差
Tags:  系统清理脚本

延伸阅读

最新评论

发表评论