没有所谓的捷径
一切都是时间最平凡的累积

设置自动删除IIS超过180天以上日志文件

本文最后更新:2020年12月15日,已超过287天未更新,如果文章内容失效,请留言反馈本站。

根据网络安全法,网站日志要求保留至少180天,时间长了就会产出很多日志文件占用空间,IIS中并不会自动删除不需要的日志,我们可以借助bat脚本,只保留指定天数的日志文件,超过时间的日志文件脚本自动删除,比如我只想保留180天 内的访问日志,180天外日志自动删除。可参考如下bat脚本处理。

@echo off
setlocal enabledelayedexpansion
REM 在下面添加内容: call:del180 文件夹路径
REM 比如dao删除”C:\Windows\System32\LogFiles\HTTPERR”和”D:\w3log\W3SVC10186″里修改时间在180天之前的文件
call:del180 “C:\Windows\System32\LogFiles\HTTPERR”
call:del180 “D:\w3log\W3SVC10186”
pause>con
goto :eof
:del180
call:getdate date
call:date2day date
pushd “%~1”
if /i not “!cd!”==”%~f1” exit /b 1
for /f “delims=” %%i in (‘dir /a:-d /b’) do (
set “datei=%%~ti”
call:getdate datei
call:date2day datei
set /a “date180=!date.num!-180”
if !datei.num! lss !date180! del /f “%%i”
)
exit /b 0
:date2day
set /a “%~1.num=0”
set /a “%~1.num+=(!%~1.y!-1)*365+(!%~1.y!-1)/4-(!%~1.y!-1)/100+(!%~1.y!-1)/400”
set /a “d=28+^!(!%~1.y!%%4)-^!(!%~1.y!%%100)+^!(!%~1.y!%%400)”
set /a “m=0”
for %%i in (31 !d! 31 30 31 30 31 31 30 31 30 31) do (
set /a “m+=1”
if !%~1.m! gtr !m! set /a “%~1.num+=%%i”
)
set /a “%~1.num+=!%~1.d!”
exit /b
:getdate
set “%~1.y=!%~1:~0,4!”
set “%~1.m=!%~1:~5,2!”
set “%~1.d=!%~1:~8,2!”
set /a “%~1.y=10000!%~1.y!%%10000”
set /a “%~1.m=10000!%~1.m!%%10000”
set /a “%~1.d=10000!%~1.d!%%10000”
exit /b

以上内容保存为clean180log.bat.然后创建任务计划每天定时运行bat,即可

» 站长码字辛苦,有用点个赞吧,也可以打个
» 若转载请保留本文转自:豫章小站 » 《设置自动删除IIS超过180天以上日志文件》
» 本文链接地址:http://mydns.vip/3553.html
» 如果喜欢可以: 点此订阅本站 有需要帮助,可以联系小站
赞(0) 打赏
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除,联系邮箱:contact@mydns.vip。文章观点不代表本站立场。本站原创内容未经允许不得转载,或转载时需注明出处:豫章小站 » 设置自动删除IIS超过180天以上日志文件
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

智慧源于勤奋,伟大出自平凡

没有所谓的捷径,一切都是时间最平凡的累积,今天所做的努力都是在为明天积蓄力量

联系我们赞助我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏