我來借花獻佛一下(所有資料都侍從網路上借用的),目前用在公司主機上,很好!設定排程後每天自動幫我備份。
'自動化檔案維護管理程式
'天數
daysAgo = 3
'路徑
dirPath = "X:\\SQL-zip"
'副檔名
extName = ".7z"
';;;;;程式開始;;;;;
Set fs = CreateObject("Scripting.FileSystemObject")
Set w = WScript.CreateObject("WScript.Shell")
Set f = fs.GetFolder(dirPath)
Set fc = f.Files
dateBefore = Now() - daysAgo
For Each ff in fc
fileName = ff.Name
fileDate = ff.DateLastModified
你可利用 WINZIP 的 COMMAND Line 來排程壓縮檔案
有沒考慮過使用發佈及訂閱的功能,而在B地直接備份可以解決備份速度的問題,不過必須在B地多架一部server。
以下是自己為公司寫的,只是我們是備份到DVD-RW,給您參考。
利用7-zip執行壓縮和VBS同目錄內,大於500K且不是.ZIP&.RAR的檔案
1.將下列程式碼複製起來存成vbs檔,放置在SQL備份同目錄內,壓縮後檔名為原始檔名+".ZIP"
2.建立『排程』於備份時間執行這支VBS,本VBS只有壓縮+刪除原檔功能,不包含異地備份功能
<pre class="c" name="code">'目的:壓縮資料庫備份檔及刪除原始檔,以利備份到異地
Dim fso, f, f1, fc, nn, n1, ns
'------------------------------------
ns = 500000 '長度大於 500k 才壓縮
Set WshShell = WScript.CreateObject("WScript.Shell") '取得 Shell 物件,給 Run 用
Set fso = CreateObject("Scripting.FileSystemObject") '建立 FileSystemObject 物件
'------------------------------------
Set f = fso.GetFolder(".") '傳回對應到指定路徑中資料夾的 Folder 物件
Set fc = f.Files '傳回一個包含在指定資料夾中組成所有File物件的Files集合物件,其中包含設定隱藏和系統檔案屬性的資料夾
'------ 壓縮資料夾內的各個檔案 ------
For Each f1 in fc
If Right(f1.name,4) <> ".zip" and Right(f1.name,4) <> ".rar" and Right(f1.name,4) <> ".vbs" Then
If f1.size > ns Then '長度大於 ns 才壓縮
nn = " """ & f1.path & ".zip"" " '壓縮後檔名,用雙引號包住,前後各加一個空白
sCommand = """c:\Program Files\7-Zip\7z.exe""" &" a -tzip -mx=7" & nn & """" & f1.path & """"
'MsgBox(sCommand)
If WshShell.Run(sCommand, , true) = 0 Then '執行 7-Zip 壓縮檔案
On Error Resume Next
f1.delete '壓縮檔案成功後,刪除原始檔
On Error GoTo 0
End If
'Wscript.Echo f1.path & "/" & nn '顯示新舊檔案之路徑檔名
End If
End If
Next