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
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:).