首页 > 编程 > VBScript > 正文

定时自动备份IIS的WWW日志的vbs脚本

2020-06-26 18:09:56
字体:
来源:转载
供稿:网友
dim IISCount,IISObject,logfiledir,fso,LogFilePeriods,inputtime,site,sites,i,j,sitename(999),WshShell 
'on error resume next 
set WshShell = WScript.CreateObject("WScript.Shell") 
Set fso = CreateObject("scripting.FileSystemObject") 
set IISCount=GetObject("IIS://localhost/w3svc") 
sites=0 
for each site in IISCount 
if (site.class="IIsWebServer") then  
sitename(sites)=site.name 
sites=sites+1 
end if 
next 

MsgBox "IIS中一共" & sites & "个站点,ID分别为:" 
for j=1 to sites-1 
MsgBox sitename(j) 
next 

inputtime=inputbox("您要备份哪天的日志?如备份2004-01-01,则输入040101") 
MsgBox "备份" &inputtime& "天的日志" 

MsgBox "开始备份.............." 
for i=0 to sites-1 
Set IISOBJect = GetObject("IIS://localhost/w3svc/" & sitename(i))  
MsgBox "备份ID=" & sitename(i) &" Sitename=" & IISObject.servercomment &"的站点" 
logfiledir = IISObject.LogFileDirectory & "w3svc" & sitename(i)'设置第一个站点的日志路径 
if (Err.Number<>0) then logfiledir=IISCount.LogFileDirectory 
Err.clear 
'if IISObject.LogFilePeriod=1 then LogFilePeriods="days" 
'if IISObject.LogFilePeriod=2 then LogFilePeriods="weeks" 
'if IISObject.LogFilePeriod=3 then LogFilePeriods="months" 
'if IISObject.LogFilePeriod=4 then LogFilePeriods="hours" 
'if IISObject.LogFilePeriod=0 AND IISObject.LogFileTruncateSize=-1 then LogFilePerirods="onefile" 
'if IISObject.LogFilePeriod=0 AND IISObject.LogFileTruncateSize>0 then LogFilePerirods="size"&IISObject.LogFileTruncateSize 
LogFilePeriods=IISObject.LogFilePeriod 
if (Err.Number<>0) then LogFilePeriods=IISCount.LogFilePeriod 
Err.clear 
if (NOT LogFilePeriods=1 AND NOT LogFilePeriods=4) then  
MsgBox "对不起,您的日志偶就不给备份,咋地吧" 
WScript.quit 
end if 
if (NOT fso.folderexists("d:backup")) then  
MsgBox "the folder d:backup is not exist,now create it" 
fso.CreateFolder("d:backup") 
Msgbox "created d:backup succuful" 
end if 
if (NOT fso.FolderExists("d:backup"&IISObject.servercomment)) then 
MsgBox "the folder d:backup" & IISObject.servercomment & " is not exist,now create it" 
fso.CreateFolder("d:backup" & IISObject.servercomment) 
MsgBox "created d:backup" & IISObject.servercomment &" succuful" 
end if 

MsgBox "now backup the logfiles" 
logfiledir = WshShell.ExpandEnvironmentStrings(logfiledir) '将环境变量转换成字符串 
MsgBox logfiledir 
fso.Copyfile logfiledir &"ex"&inputtime&"*","d:backup"& IISObject.servercomment 
if Err.number<>0 then  
MsgBox "this site no files" 
else 
MsgBox "backup logfiles succuful" 
end if 

inputifdel=inputbox("是否删除已备份文件?输入“YES”进行删除") 
if inputifdel="YES" then 
fso.DeleteFile (logfiledir&"ex"&inputtime&"*") 
MsgBox "删除文件成功" 
else 
MsgBox "文件已保留" 
end if 
next 
MsgBox "备份所有的日志文件成功,嘿嘿" 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表