Hjælp til backup script
Hej Exp.dkHar fundet et VBS script på nettet som går ind og laver backup af de mapper som der nu bliver skrevet i scriptet.
Meningen er at scriptet skal køres en gang om ugen hvor den skal kopier samtlige mapper og filer over som vi definere i scriptet.
Problemmet er at den kun kopier de filer over som er nye eller redigeret siden den sidste gang lavede backup, hvilket betyder at de filer som der ikke er blevet rettet i blvier der ikke taget backup af.
Backup.vbs
=========================================
Const ForWriting = 2
count = 0
sti = ""
'---------------------
' Log File (back.txt):
'---------------------
Set fs = CreateObject("Scripting.FileSystemObject")
'Set tf = fs.OpenTextFile("C:\back.txt", ForWriting, True)
'prnt date & " " & time
dato = replace(date,"/","-")
'================================================================================
' P : Path
' BF : Backup File
' Filenames may use wildcards - but only at end of filename and/or extension
' Ex: OK: dat*.n*, *.*
' not OK: *dag.*x
' BD : Backup Directory
'================================================================================
' BackUp destination folder:
'-------------------------
Bfolder = "C:\backup\" & dato & " " & tid
'-------------------------
P "C:\Inetpub\"
BD "wwwroot"
'============================================================
'prnt FileCount
'tf.Close
'Set tf = nothing
Set fs = nothing
'MsgBox FileCount
'============ END =============== SUBROUTINES :
'--------------------------------
' P : Set Path
'--------------------------------
Sub P(path)
sti = path
if right(sti, 1) <> "\" then sti = sti + "\"
' prnt ""
' prnt "===" & sti
End Sub
'--------------------------------
' BF : Back File
'--------------------------------
Sub BF(navn)
if instr(navn,"*") then
s1 = ""
s2 = ""
pp = instr(navn,".")
f1 = left(navn,pp-1)
f2 = mid(navn,pp+1)
p1 = instr(f1,"*")
p2 = instr(f2,"*")
if p1 then s1 = left(f1, p1-1)
if p2 then s2 = left(f2, p2-1)
BackWild
else
set f = fs.GetFile(sti & navn)
BackFile f
end if
End Sub
'--------------------------------
' BD : Back Directory
'--------------------------------
Sub BD(navn)
f = sti & navn
' prnt " \" & navn
BackFolder f
End Sub
'--------------------------------
' BackFile
'--------------------------------
Sub BackFile(f)
if f.Attributes and 32 then
dfn = Bfolder & mid(f.ParentFolder, 3)
if right(dfn, 1) <> "\" then dfn = dfn + "\"
if not fs.folderexists(dfn) then FolderCreate dfn
fs.Copyfile f, dfn & f.name
f.Attributes = f.Attributes - 32
' prnt "* " & f
count = count + 1
end if
End Sub
'-------------------------------
' BackWild
'-------------------------------
Sub BackWild()
Set f = fs.GetFolder(sti)
set fc = f.files
for each fil in fc
ext = mid(fil.name,instr(fil.name,".")+1)
w = (left(fil.name,len(s1)) = s1 AND left(ext,len(s2)) = s2)
if w then BackFile fil
next
End Sub
'-------------------------------
' backFolder
'-------------------------------
Sub BackFolder(fn)
Set f = fs.GetFolder(fn)
set fc = f.files
for each fil in fc
backFile fil
next
Set sf = f.SubFolders
For Each f1 in sf
If Left(f1.name, 4) <> "_vti" then BackFolder f1.path
Next
End Sub
'----------------------------
Sub we(s)
wscript.echo s
End Sub
Sub prnt(s)
we s
tf.Writeline s
End Sub
Function FileCount()
if count = 1 then
FileCount = "1 fil"
else
FileCount = count & " filer"
end if
End Function
Sub FolderCreate(fn)
pfn = fs.GetParentFolderName(fn)
if not fs.folderexists(pfn) then FolderCreate pfn
fs.CreateFolder fn
End Sub
Mvh.
Freos