IIS日志自动删除程序 收藏
很多使用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日志自动删除程序 收藏相关推荐
- Python 8行代码模拟鼠标自动删除微信收藏
上回我们提到了用 pyuserinput 进行模拟键盘鼠标操作,结果发现很多同学都回复无法安装成功,即便安装成功了还是存在很多问题.确实,pyuserinput存在不少问题,包括其安装的pymouse ...
- 如何使win10避免自动删除程序文件(疑似病毒),且使该文件能运行
需要解决的问题: 在win10中,即使你关闭了类似于电脑管家的杀毒软件,疑似病毒的程序或文件也是会被自动删除.这会使我们在一些场景下会非常被动.那么如何解决这一问题呢? 解决: 方法:在win10安全 ...
- Python 8行代码模拟鼠标自动删除微信收藏,Python帮你撩妹!
上回我们提到了用 pyuserinput 进行模拟键盘鼠标操作,结果发现很多同学都回复无法安装成功,即便安装成功了还是存在很多问题.确实,pyuserinput存在不少问题,包括其安装的pymouse ...
- logback1.1.11日志无法自动删除
项目使用logback记录日志,版本为1.1.11,配置了日志自动删除逻辑(应用启动就删除过往日志),但是往期日志文件始终没有被删除,越积越多,logback配置如下: <?xml versio ...
- IIS日志-网站运维的好帮手
目录 IIS日志包含了哪些信息 IIS日志的配置 如何分析IIS日志 推荐的IIS日志分析方法 IIS日志中的异常记录 再谈 scwin32status=64 寻找性能问题 寻找可改进的目标 程序架构 ...
- mysql二进制日志被删除无法启动_mysql二进制日志文件出错导致mysql服务无法启动...
今天打开phpmyadmin发现连不上mysql数据库,重启mysql启动不起来,查看日志发现如下错误 mysqld: File '.\mysql-bin.000370' not found (Err ...
- 【办公类-13-01】20220703python模拟鼠标 删除“微信收藏“
背景需求: 模仿CSDN上已有的"python模拟鼠标删除微信收藏"的进行可行性练习. 软件准备及设置: 1.确定坐标位置的软件下载 下载一个"看鼠标"的软件. ...
- 对mysql日志进行操作的总结包括 启用,过期自动删除 等
近段时间一直在研究mysql的日志系统,在网上看了N多mysql日志操作的文章,但都过于零乱,为了让自己以后不再搞忘,特作出以下总结: 1. 以前我错误的认为mysql的日志可以恢复到任何时间的状态, ...
- mysql 删除过期日志_【转】对mysql日志进行操作的总结包括 启用,过期自动删除 等...
近段时间一直在研究mysql的日志系统,在网上看了N多mysql日志操作的文章,但都过于零乱,为了让自己以后不再搞忘,特作出以下总结: 1. 以前我错误的认为mysql的日志可以恢复到任何时间的状态, ...
最新文章
- 【linux】top命令详解
- intellij (org.jdom.input.JDOMParseException) Error on line 1: 前言中不允许有内容。
- 【java】之读取InputStream流
- Android View 事件分发机制详解
- 5.03 列出表的索引
- 判断一个字符串是否另一个字符串的右移后的
- 【风马一族_xml】xmlp之dtd1
- 惠普打印机驱动程序安装失败解决
- 程序员VS产品经理的世纪之争
- 数控技能大赛计算机程序员,广西选手获第九届全国数控技能大赛数控程序员赛项一等奖...
- java基础猜拳游戏
- 随便拍几张照片赚了3K,近期的风口视频项目
- 特征金字塔(FPN)
- sqlDbx连接mysql 及乱码
- 图解pandas的数据合并merge
- 作为程序员,对中年危机的思考
- Python实现对图片,文件批量重命名
- 内发光html,如何使用css3实现字体内发光效果(详解)
- 大型网站技术架构 读书笔记3 架构师
- VC中GetLastErro返回的错误码
热门文章
- 2021 IEEE热门AI话题盘点:模仿生物大脑打造神经网络、GPT3“不当言论”惹关注…...
- “让技术做好事”,最特殊的创投在大湾区成立
- 为了一个科研idea,博士生们连冥想、巫毒仪式都用上了|Reddit热议
- 潘建伟团队又创世界纪录!实现500公里量级现场光纤量子通信
- 微软看了下“打工人”的脑电波,难怪视频会议总犯困!斯坦福:女性尤甚
- 14.7倍推理加速、18.9倍存储节省!北航、商汤、UCSD提出首个点云二值网络 | ICLR 2021...
- 国内首个手机AR实景驾驶导航上线,还能识别车辆行人,搜狗地图出品
- 大S变汪太!与汪小菲注册结婚
- bash变量和逻辑运算
- 技术网站 --人人都是产品经理