Mit einem simplen Skript lässt sich eine Datensicherung auf Basis von Robocopy und mit verschiedenen Versionen realisieren. So hat man nicht nur eine Kopie-Sicherung, sondern kann mehrere Versionen wie z.B. Tage, Wochen, Monate, je nachdem wie oft man es ausführt, zurück gehen.
Klar, es wird Code-Recycling von Drive Snapshot gemacht:
Windows: Versions-basierte Drive Snapshot-Sicherungen
Daraus folgen für Robocopy diese Skript-Zeilen:
@echo off rem Konfiguration set Source=C:\Projekte set Destination=D:\Backup set NumberOfVersionsToKeep=7 rem Version.txt pruefen, falls diese nicht existiert, dann anlegen if not exist Version.txt echo %NumberOfVersionsToKeep% > Version.txt rem Version auslesen und ggf. festlegen set /p Version=< Version.txt set Version=%Version: =% set /A Version=Version %% NumberOfVersionsToKeep + 1 echo %Version% > Version.txt rem Ziel-Ordner pruefen und ggf. anlegen if not exist "%Destination%\%Version%" mkdir "%Destination%\%Version%" rem Robocopy ausfuehren robocopy "%Source%" "%Destination%\%Version%" /mir /r:0 /w:0 /np /log:robocopy-%Version%.log
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Die angegebene Methode zur Versionierung hat den Nachteil, dass man erst nachschauen muss, welches die aktuelle Version ist. Folgende Zeilen reichen, damit die Versionen ab 1 immer älter werden:
rem Höchste Version wird zur 1 als Basis der neuesten Version
if exist “%BackupZiel%%NumberOfVersionsToKeep%” rename “%BackupZiel%%NumberOfVersionsToKeep%” “0”
rem Bestehende Versionen von hinten an hochsetzen: Name des Ordners um 1 erhöhen
for /l %%i in (%NumberOfVersionsToKeep%,-1,1) do (
set /a “PrevVersion=%%i – 1”
if exist “%BackupZiel%!PrevVersion!” rename “%BackupZiel%!PrevVersion!” “%%i”
)