vanhoven
Goto Top

Backup Lösung für 3 Monate per robocopy

Hallo zusammen,

auf der Suche nach einer Backup Lösung bin ich auf folgenden Beitrag gestoßen:
Tägliche Vollsicherung per Batch mit Datum im Zielordner


Nun habe ich den Code wie folgt abgeändert..

ECHO OFF
REM Setze Verzeichnisse
SET SOURCE=C:\Backup [D]\Backup Laptop\Eigenes Business
SET DEST=C:\TempCopy
REM Erstelle Zielpfad, falls nicht vorhanden
if not exist "%Dest%"\%Date% Md "%DEST%"\%Date%
REM Kopiere Verzeichnis
xcopy "%SOURCE%" "%DEST%"\%Date% /c/s/r/d/y/i
REM Kopiere Daten von S2 nach S1
robocopy %DEST% i:/backup /mir
REM

set jahr=%date:~-4%
set monat=%date:~-7,2%
if %monat%==01 set "month=Dezember" && Set /a "jahr-=1"
if %monat%==02 set month=Januar
if %monat%==03 set month=Februar
if %monat%==04 set month=Maerz
if %monat%==05 set month=April
if %monat%==06 set month=Mai
if %monat%==07 set month=Juni
if %monat%==08 set month=Juli
if %monat%==09 set month=August
if %monat%==10 set month=September
if %monat%==11 set month=Oktober
if %monat%==12 set month=November
mkdir C:\Backup [D]\Backup Laptop\LX-Monatsbackups\%month%_%jahr%
xcopy C:\TempCopy\*.* "C:\Backup [D]\Backup Laptop\LX-Monatsbackups"\%month%_%jahr%\ /c/d/e/h/r/o/y
rd /s /q C:\TempCopy\
md C:\TempCopy
rd /s /q "C:\Backup\[D]"
rd /s /q C:\Backup\Laptop

Gerade die beiden letzten Zeilen scheinen mir recht unelegant.. Kann man das vielleicht geschickter lösen?

Im Übrigen würde ich es bevorzugen, nur die letzten 3 Monate zu sichern..,

Für Eure Hilfe schon mal besten Dank vorab!

Eric

Content-Key: 254970

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

Printed on: April 24, 2024 at 17:04 o'clock

Member: Endoro
Endoro Nov 16, 2014 at 23:07:02 (UTC)
Goto Top
Hey,
es ist einfacher, wenn du deine Struktur und das gewünschte Ergebnis beschreibst. Das anhand fremden und möglicherweise fehlerhaften Quellcodes zu rekonstruieren ist undankbar.
Gruss, Endoro
Member: vanHoven
vanHoven Nov 17, 2014 at 09:28:59 (UTC)
Goto Top
Hallo Endoro,

habe hier einen Einzelplatzrechner mit W7 und möchte einen, ggf. auch mehrere Ordner sichern.
Die Sicherung sollte täglich komplett (evtl. auch differenziell) erfolgen, da der Rechner während des Tages mehrmals neu gestartet wird.
Benötigt wird das Ganze max. 3 Monate lang und kann anschließend überschrieben werden. Das Sahnehäubchen wären variable Zielordner...

Leider hat sich oben erwähnte Lösung dahingehend als etwas schwerfällig erwiesen.
Member: Doskias
Doskias Nov 17, 2014 at 15:52:38 (UTC)
Goto Top
Was ist denn der Inhalt der Ordner, die gesichert werden sollen.
Wenn sich dort eine SQL-Datenbank befindet, könnte das bei Robocopy zu Problemen führen. Stichwort:Dateizugriff.

Von welcher Datenmenge reden wir hier, wenn du noch zwischen kompletter und differenzieller Sicherung schwankst.
Member: vanHoven
vanHoven Nov 19, 2014 at 09:37:40 (UTC)
Goto Top
die Datenmenge liegt bei rund 12GB (keine SQL-Datenbank), wobei der größte Teil mittels BitTorrent Sync gesichert wird. Allerdings erfolgt diese Art der Sicherung nur gelegentlich, da der 2te Rechner in einem anderen Raum steht und nur selten läuft.

Wichtig davon ist ein relativ kleiner Teil von ca. 50-100MB, der täglich gesichert werden muss.

Ich suche nun nach einer Lösung, o.g. Datenmenge zu sichern, ohne dafür mehrere Programme nutzen zu müssen.

Das Ganze sollte also wie folgt aussehen:
- Datenmenge: ~12GB
- Sicherung A (~100MB täglich) erfolgt auf Rechner A
- Sicherung B (~11,9GB monatlich(?)) erfolgt auf Rechner B und sollte Sicherung A enthalten
Member: Doskias
Doskias Nov 19, 2014 at 09:55:43 (UTC)
Goto Top
Und die Zielordner?
- angeschlossene Laufwerke, die gewechselt werden?
- Freigabe im Netzwerk?

Brauchst du das ganze privat oder beruflich? Beruflich würde ich bei der Ausgangslage nämlich eine Software empfehlen. Gibt gute Lösungen unter 100 €. Wenn Daten täglich gesichert werden müssen klingt das für mich schon sehr nach einer professionellen Ebene und ich persönlich würde da kein Backup via Robocopy einsetzen wollen.
Member: vanHoven
vanHoven Nov 19, 2014 at 11:04:46 (UTC)
Goto Top
es existieren keine Wechseldatenträger und die Freigabe im Netzwerk basiert auf einer einfachen Ordnerfreigabe.

Den/ die Rechner nutze ich beruflich (Einzelunternehmung), wie auch privat.

Dass ich das einfacher haben könnte, weiß ich. Nur interessiert mich die Technik und die jeweiligen Möglichkeiten..
Member: Doskias
Doskias Nov 19, 2014 at 13:03:08 (UTC)
Goto Top
Also wenn schon Skript, dann nimm doch Powershell face-smile

# Pfade angeben
$BackupZiel="D:\Backup"  
$Zusichern="D:\Test"  
$Bericht="D:\Backup_Logs"  

#relevante Daten ermitteln
$month=get-date -uformat %m
$day=get-date -uformat %d
$old_day=("{0:dd}" -f (get-date).adddays(-90))  
$old_month=("{0:MM}" -f (get-date).adddays(-90))  

#Backupziel erstellen:
md $BackupZiel$month$day

#Daten kopieren:
Copy-item $Zusichern\* $BackupZiel$month$day -force -passthru > $Bericht\backup_log$month$day.txt

#Alte backups löschen
remove-Item $BackupZiel$old_month$old_day -recurse

Was macht das Skript:
1. Es kopiert alle Daten aus dem Ordner D:\Test nach D:\Backup und schreibt die kopierten Daten nach D:\Backuplogs (alles Ordnerangaben)
2. Zeile 13 dient zum Erstellen des Ordners. Ohne den Befehl werden nur Dateien, aber keine Unterordner kopiert
3. Die Daten inkl. Unterordner werden kopiert und zwar in den Ordner mit dem heutigen Datum. Also D:\Backup1119 für heute. Die kopierten Daten werden in D:\Backuplogs\Backup_log1119.txt geschrieben
4. Alte Backups werden gelöscht, allerdings nur der Ordner der vor 90 Tagen angelegt wurde. Also heute wäre der Ordner D:\Backup0821 an der Reihe. 90 Tage wegen dem adddays(-90) in Zeile 09 und 10.

Mit etwas mehr Aufwand kann das Skript auch alle Ordner die älter als ein bestimmter Tag sind löschen. Und mit etwas mehr Aufwand kannst du auch verschiedene Pfade für verschiedene Ordner sichern. Dazu einfach die entsprechenden Zeilen kopieren, Variablen umbenennen und fertig (oder das Skript unter anderem Namen mehrfach Speichern). Ebenso fängt das Skript noch keine Fehler ab (zum Beispiel, wenn heute der Ordner nicht existiert (Zeile 19) oder der Ordner schon existiert (Zeile 13).