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

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 "备份所有的日志文件成功,嘿嘿"

相关推荐