berlon61
Goto Top

Batch als Generationenbackup mit Robocopy

Hallo Administratoren,
ich hätte da ein Problem face-smile
Bisher habe ich meine Datensicherung mit Allways Sync (Lifetime Lizens) gemacht. Dies wurde aber an Sibersystems verkauft und die bieten Ihre "Lösung Goodsync" nur noch als jährliche Kauflizens an face-sad.

Durch stöbern im Internet bin ich da auf Robocopy gestoßen. Auch habe ich hier gelesen was eine Batch alles kann. Mir ist die Kinnlade auf den Tisch gefallen und ich bin ganz ehrlich, ich verstehe es nicht was da alles gemacht wird. Bin da nun komplett auf euer Wohlwollen angewiesen.

Was habe ich vor:
Durch das Stöbern bin ich auf auf das System des Generationenbackups gestoßen was mir sehr zuspricht.

Ich würde gerne haben das das Script folgendes macht.
Von Montag wird ein tägliche Sicherung der Ordner gemacht - T1-T4. T1-T4 werden in der folgenden Woche überschrieben.
Freitag wird eine Wochenbackup erstellt - W1-W3. W1-W3 werden wieder überschrieben wenn sie wieder dran sind.
In der letzten Woche wird nun ein Monatsbackup W1-W12 erstellt, die auch erhalten bleiben. Wobei T, W und M das aktuelle Datum enthalten.

Gesichert wird auf eine Synology NAS.
Ich will versuchen alles mit Bordmittel zu erledigen. Ich habe es schon geschafft mittels Aufgabenplanung mein Thunderbird portable zu kopieren. Will versuchen nun eine für mich brauchbare Backuplösung nur mit Windows Bordmittel zu erreichen.
Stimmt nicht ganz, ich setzte USBDLM ein um bei einem erfolgreichen Verbinden des NAS mittels RaiDrive (von Synology empfohlen) ein Skript zu starten. Das funktioniert auch. Da habe ich in der Aufgabenplanung nicht derart gefunden.

Und nun sage ich mal ganz lieb Bitte, Bitte.

Gruß
Bernd

Content-Key: 6828236097

Url: https://administrator.de/contentid/6828236097

Printed on: February 24, 2024 at 02:02 o'clock

Member: jsysde
jsysde Apr 18, 2023 at 19:25:12 (UTC)
Goto Top
N'Abend.

Man kann sich das Leben auch kompliziert machen...
Synology => Active Backup for Business aktivieren und nutzen.
Glücklich sein.

Cheers,
jsysde
Member: beidermachtvongreyscull
beidermachtvongreyscull Apr 19, 2023 at 05:19:06 (UTC)
Goto Top
Moin,

Robocopy setze ich für einen digitalen Overnight-Kurier ein, damit nachts große Datenmengen durch unsere MPLS-Leitungen verschoben werden können und diese am Tag die Leitungen nicht zumachen.

Ich habe ein ähnliches Szenario mit erweitertem Archivcharakter und setze das mit VBScript und dem Kommandozeilenprogramm von 7-zip um:

' Backup folder using 7-Zip  
' Written by Steve Allison 2014 - steve@allison.im  

Dim fso, rs, shell

' File System Object  
Set fso = CreateObject("Scripting.FileSystemObject")  
' RecordSet  
Set rs = CreateObject("Ador.Recordset")  
' Shell  
Set shell = CreateObject("WScript.Shell")  

Const adVarChar = 200
Const adDate = 7

srcFolder="E:\RA\ZEIT"  
dstFolder="E:\RAMDASIZEIT"  
backupName="backup"  
zipEXE="E:\DASI-Zeit\7za.exe"  

' Number of files to keep  
iNum = 15000

' Get the date in the correct order. Why does vbscript suck so hard at date formatting?  
Function getDateString()
    d = ZeroPad(Day(Now()), 2)
    m = ZeroPad(Month(Now()), 2)    
    y = Year(Now())
    getDateString = y & m & d
End Function

' No printf() in VBScript it seems  
Function ZeroPad(int, length)
	If Len(int) < length Then
		ZeroPad = Right(String(length, "0") & int, length)  
		Else
			ZeroPad = int
	End If
End Function

' Sanity checking  
If Not fso.FolderExists(srcFolder) Then
	Wscript.Echo "Aborted. Source folder does not exist: " & srcFolder  
	Wscript.Quit
End If
If Not fso.FolderExists(dstFolder) Then
	Wscript.Echo "Aborted. Destination folder does not exist: " & dstFolder  
	Wscript.Quit
End If
If Not fso.FileExists(zipEXE) Then
	Wscript.Echo "Aborted. 7-Zip program does not exist: " & zipEXE  
	Wscript.Quit
End If

' Create suffix of date-time  
backupFileDate = getDateString() & "-" & replace(FormatDateTime(now,4),":","")  

' File extension  
backupFileExt = ".7z"  

' Backup path without extension  
backupFilePre = dstFolder & "\" & backupName & "_" & backupFileDate  

' Full backup path  
backupFile = backupFilePre & backupFileExt

' More sanity checking  
n = 1
Do While fso.FileExists(backupFile)
	' Add integeer to file, loop until it doesn't already exist  
	backupFile = backupFilePre & "_" & ZeroPad(n, 2) & backupFileExt  
	n = n + 1
Loop

'''' Zip Source Folder  
' Create shell command  
shCommand = """" & zipEXE & """ a -r """ & backupFile & """"  
' Change to source directory  
shell.CurrentDirectory = srcFolder & "/"  
' Run 7-Zip in shell  
shVal = shell.Run(shCommand,4,true)
'WScript.Echo shCommand  
' Check 7-Zip exit code  
If shVal > 1 Then
	Wscript.Echo "7-Zip failed with error code: " & shVal  
	Wscript.Quit
End If

' Wscript.Echo "Backup complete at " & backupFile  

Das Archiv aufräumen kannst Du auch in einem separaten Task erledigen.

Gruß
bdmvg
Member: berlon61
berlon61 Apr 21, 2023 at 18:22:02 (UTC)
Goto Top
Danke für die Antworten, werde mal das Synology Drive versuchen. ActiveBackup for Bussines verwende ich schon um meine Systempartition zu sichern.

Gruß
Bernd