定時自動備份IIS的WWW日志的vbs腳本
2020-07-26 12:00:21
供稿:網友
 
						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 "備份所有的日志文件成功,嘿嘿"