Skrypt tworzący backup katalogu – VBS cz.12

Print Friendly, PDF & Email

Następną koniecznością w firmie było stworzenie narzędzia, przy pomocy którego możliwe było skopiowanie konkretnego katalogu zawierającego ustawienia maszyn. Tym samym zabezpieczyliśmy się na wypadek uszkodzenia dysku komputera przed utratą ważnych ustawień maszyny.

1) Sprawdzenie włączonych maszyn oraz utworzenie katalogów przechowujących backup.

Poniższa funkcja sprawdza, która maszyna jest włączona oraz na dysku przeznaczonym na backup tworzony jest katalog z ich nazwą.

function Backup() ’ maszyny Online+ tworzenie katalogow na dysku


Set WshShell = CreateObject(„WScript.Shell”)

  Dim computerPing,iter, objFSO,objCreateTextFile,objTextFile

 computerPing=”10.10.10″


 Set objFSO= CreateObject(„Scripting.FileSystemObject”)

  for iter = 21 To 26 Step 1 

   PINGFlag = Not CBool(WshShell.run(„ping -n 1 ” & computerPing & „.” & iter,0,True))

      If PINGFlag = True Then

       

sourceKat = „\” & computerPing & „.” & iter & „Clinearfab*”

   sourceFile=  „\” & computerPing & „.” & iter & „Clinearfab*.*”

’objTextFile.Close

folderName = „F:Fab” 

  

  destinationFolder= folderName & Right(iter,1) & „_” & Date()

  

   IF objFSO.FolderExists(destinationFolder) = FALSE THEN

objFSO.CreateFolder destinationFolder

ELSE

END IF

Call Kat(sourceKat,destinationFolder)

Call File(sourceFile,destinationFolder) 

     Else

      

     b=””

         Backup=b

     End If

  Next 

 end Function



2)Poniższe procedury odpowiadają za kopiowanie katalogów z maszyn na dysk backupu. Wywoływane są w powyższej funkcji.

Sub Kat (sourcePath, destinationPath)
Set fso = WScript.CreateObject(„Scripting.FileSystemObject”)

fso.CopyFolder sourcePath, destinationPath
end sub


Sub File(sourcePath,destinationPath)
Set fso = WScript.CreateObject(„Scripting.FileSystemObject”)

fso.CopyFile sourcePath, destinationPath
end sub 

4)Ostatnią procedurą jest kopiowanie backupu na drugi dysk, dzięki czemu mamy mirrioring naszego backupu na drugim dysku na wszelki wypadek, gdyby podstawowy uległ uszkodzeniu.

Sub MirroringBackups


 Dim fso, mainFolder, subFolder, LastModified,howManyDays


 Set fso = WScript.CreateObject(„Scripting.FileSystemObject”)

 GetMyFolder= „F:”

 GetMyMirrorFolder=”G:”

 howManyDays=180 'ile dni mają być trzymane katalogi


 Set mainFolder = fso.GetFolder(GetMyFolder)

 Set subFolder = mainFolder.SubFolders


  For Each fi In subFolder


   GetMyFolder= fi.Path

   LenDestinationFolder = len(GetMyFolder)

   destinationFolder = GetMyMirrorFolder & MID(GetMyFolder,4,LenDestinationFoder)

   

   ShortFolderName = MID(GetMyFolder,4,3)

   

   if ShortFolderName=”Cat” or ShortFolderName=”Fab”  Then

      

      Call Kat(GetMyFolder,destinationFolder)

 

   else

     

   end if

   

  Next


End Sub  


Print Friendly, PDF & Email

Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT