Intr-un scenariu asemanator, eu folosesc un script VB care copiaza
backup-urile de pe "local" pe o locatie in retea. Fisierele cu extensia
"bak" din folder-ul C:\Backups\DB sunt copiate peY:\DBackup\.
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Backups\DB")
Set colFiles = objFolder.Files
For Each objFile in colFiles
If objFso.GetExtensionName(objFile) = "bak" Then
objFSO.CopyFile objFSO.GetAbsolutePathName(objFile), "Y:\DBackup\"
End If
Next
Sriptul de mai sus ("CopyFiles.vb") il apelez dintr-un fisier .cmd. Iata un fragment din continutul fisierului .cmd :
net use Y: /delete
net use Y: locatie parola /user
cscript C:\Backups\DB\CopyFiles.vbs
...............
*
In momentul asta, nu mai arhivez backup-urile pentru ca am suficient
spatiu pe Y . Cu ceva timp in urma, arhivam folosind WinRar:
"C:\Program
Files\WinRAR\WinRAR.exe" a C:\TestScript\bcpout\SomeTables
C:\TestScript\bcpout\*.txt (pentru detalii despre sintaxa, vezi helpul
WinRar) si copiam / "descarcam" arhivele.
Mai departe folosesc un job care are ca pasi backup-ul
propriu-zis ("step 1") si fisierul .cmd ("step 2"). Daca vreunul din
pasi esueaza (de exemplu
locatia Y este "inaccessible"), primesc notificare prin mail.
* Ai grija sa si "cureti" arhiva de backup-urile vechi...
Documentatie de scripting gasesti aici:
http://www.microsoft.com/technet/scriptcenter/default.mspx
Pentru "command shell" vezi
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr=true