推薦的一篇用多種腳本清理iis日志的代碼第2/3頁
更新時間:2008年06月23日 20:17:28 作者:
專題名稱:IIS日志清理專題,CMD版,VBS版,JS版,WSH版
實(shí)例代碼:
IIS日志清理CMD版代碼(DelIISLog.cmd):
復(fù)制代碼 代碼如下:
@echo off
::設(shè)置當(dāng)前日期前多少天或后多少天
set/a beforedays=-3
::設(shè)置目錄所在位置
set dir="F:\log\"
::當(dāng)前日期轉(zhuǎn)換為天數(shù)并進(jìn)行計算
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):
復(fù)制代碼 代碼如下:
'IIS日志清理VBS版代碼(DelIISLog.vbs) Made by www.yongfa365.com
'調(diào)用方法: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 '得到該目錄下所有的文件的集合
'第一步處理當(dāng)前目錄下的所有文件
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
'第二步處理當(dāng)前目錄下的所有目錄,進(jìn)行遞歸調(diào)用
For Each oSubFolder In oSubFolders
DelIISLog oSubFolder.Path,KeepDays '遞歸
Next
End Function
DelIISLog "D:\IISLogTest",20 '遍歷
'IIS日志清理VBS版代碼(DelIISLog.vbs) Made by www.yongfa365.com
'調(diào)用方法: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 '得到該目錄下所有的文件的集合
'第一步處理當(dāng)前目錄下的所有文件
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
'第二步處理當(dāng)前目錄下的所有目錄,進(jìn)行遞歸調(diào)用
For Each oSubFolder In oSubFolders
DelIISLog oSubFolder.Path,KeepDays '遞歸
Next
End Function
DelIISLog "D:\IISLogTest",20
'遍歷IIS日志清理JS版代碼(DelIISLog.js):
復(fù)制代碼 代碼如下:
//IIS日志清理JS版代碼(DelIISLog.js) Made by www.yongfa365.com
//調(diào)用方法:DelIISLog("IIS日志所在路徑",保留多少天的IIS日志);
//遍歷IIS日志文件夾下的所有文件及子文件夾下的文件
function DelIISLog(IISLogPath,KeepDays){
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder(IISLogPath);
var Folders = new Enumerator(f.SubFolders); //得到該目錄下所有的文件夾的集合
var Files = new Enumerator(f.Files); //得到該目錄下所有的文件的集合
//第一步處理當(dāng)前目錄下的所有文件
for (; !Files.atEnd(); Files.moveNext()) {
var fileName = Files.item().name;
var year = "20" + fileName.substr(2, 2);
var mouth = fileName.substr(4, 2);
var day = fileName.substr(6, 2);
var days = Math.round(((new Date()).getTime() - Date.UTC(year, mouth - 1, day)) / 1000 / 60 / 60 / 24);
if (days > KeepDays) Files.item().Delete(); //判斷是不是要處理的IIS日志文件,如果是的話直接刪除
}
//第二步處理當(dāng)前目錄下的所有目錄,進(jìn)行遞歸調(diào)用
for (; !Folders.atEnd(); Folders.moveNext()) {
DelIISLog(Folders.item(),KeepDays);
}
}
//調(diào)用函數(shù),比如:"F:\\log",5 或 "C:\\windows\\system32\\LogFiles",5
DelIISLog("D:\\IISLogTest",2);
//IIS日志清理JS版代碼(DelIISLog.js) Made by www.yongfa365.com
//調(diào)用方法:DelIISLog("IIS日志所在路徑",保留多少天的IIS日志);
//遍歷IIS日志文件夾下的所有文件及子文件夾下的文件
function DelIISLog(IISLogPath,KeepDays){
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder(IISLogPath);
var Folders = new Enumerator(f.SubFolders); //得到該目錄下所有的文件夾的集合
var Files = new Enumerator(f.Files); //得到該目錄下所有的文件的集合
//第一步處理當(dāng)前目錄下的所有文件
for (; !Files.atEnd(); Files.moveNext()) {
var fileName = Files.item().name;
var year = "20" + fileName.substr(2, 2);
var mouth = fileName.substr(4, 2);
var day = fileName.substr(6, 2);
var days = Math.round(((new Date()).getTime() - Date.UTC(year, mouth - 1, day)) / 1000 / 60 / 60 / 24);
if (days > KeepDays) Files.item().Delete(); //判斷是不是要處理的IIS日志文件,如果是的話直接刪除
}
//第二步處理當(dāng)前目錄下的所有目錄,進(jìn)行遞歸調(diào)用
for (; !Folders.atEnd(); Folders.moveNext()) {
DelIISLog(Folders.item(),KeepDays);
}
}
//調(diào)用函數(shù),比如:"F:\\log",5 或 "C:\\windows\\system32\\LogFiles",5
DelIISLog("D:\\IISLogTest",2);
IIS日志清理WSH版代碼(DelIISLog.wsf):
復(fù)制代碼 代碼如下:
<job id="IIS日志清理WSH版代碼(DelIISLog.wsf) ">
<script language="vbscript">
'作者:柳永法(yongfa365)'Blog
'修改:2007-11-15
'操作說明:此文件只能清除一天的日志,得使用計劃任務(wù)讓其每天執(zhí)行一次,因?yàn)榉?wù)器上一般都禁用WScript.Shell,所以不推薦使用
Function DelIISLog(IISLogPath,beforedays)
d=Now-beforedays
If Right(IISLogPath,1) <> "\" Then IISLogPath=IISLogPath & "\"
p= IISLogPath & "ex" & Right(Year(d),2) & Right("0" & Month(d),2) & Right("0" & Day(d),2) & ".Log"
Set WshShell = WScript.CreateObject("WScript.Shell")
wscript.echo p
WshShell.Run ("cmd.exe /c del /s " & p)
Set WshShell = Nothing
End Function
DelIISLog "D:\IISLogTest",2
</script>
</job>
<job id="IIS日志清理WSH版代碼(DelIISLog.wsf) Made by www.yongfa365.com">
<script language="vbscript">
'作者:柳永法(yongfa365)'Blog
'修改:2007-11-15
'操作說明:此文件只能清除一天的日志,得使用計劃任務(wù)讓其每天執(zhí)行一次,因?yàn)榉?wù)器上一般都禁用WScript.Shell,所以不推薦使用
Function DelIISLog(IISLogPath,beforedays)
d=Now-beforedays
If Right(IISLogPath,1) <> "\" Then IISLogPath=IISLogPath & "\"
p= IISLogPath & "ex" & Right(Year(d),2) & Right("0" & Month(d),2) & Right("0" & Day(d),2) & ".Log"
Set WshShell = WScript.CreateObject("WScript.Shell")
wscript.echo p
WshShell.Run ("cmd.exe /c del /s " & p)
Set WshShell = Nothing
End Function
DelIISLog "D:\IISLogTest",2
</script>
</job>
相關(guān)文章
- 本文主要介紹幾種軟件測試方法,這里對軟件測試做了幾種分類和匯總,在做軟件測試的時候可以用適當(dāng)?shù)姆椒?,有需要的小伙伴可以參考?/div> 2016-08-08
基于canvas剪輯區(qū)域功能實(shí)現(xiàn)橡皮擦效果
這篇文章主要介紹了基于canvas剪輯區(qū)域功能實(shí)現(xiàn)橡皮擦效果,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-03-03Verilog語言數(shù)據(jù)類型基礎(chǔ)教程
這篇文章主要為大家介紹了Verilog語言數(shù)據(jù)類型基礎(chǔ)教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04最新評論