Windows: Versions-basierte Drive Snapshot-Sicherungen

Für ein paar Kunden war die Verwendung der Rotationssicherung mit Drive Snapshot unpassend, da die betroffenden Computer nicht jeden Tag in Betrieb sind. Bei einem Kunden sollte die Sicherung zwar automatisch beim Herunterfahren ausgeführt werden, allerdings nur Differentiell, bei einem anderen Kunden wird die Sicherung nicht per Aufgabe, sondern manuell ausgeführt. Für beide Szenarien war nachfolgendes Skript die Basis.

Versions-basiert bedeutet in diesem Kontext, das die erste Sicherung eine Vollsicherung ist und alle nachfolgenden immer differentiell.

Das aktuelle Skript erstellt zunächst eine Vollsicherung, danach entsprechend der Angabe bei

set NumberOfVersionsToKeep=15

differentielle Sicherungen. Ist das Limit erreicht wird der vorangegangene Sicherungs-Satz umbenannt (Präfix „Pre_“) und ein neuerer Satz erstellt. Daraus folgt: Es gibt zwei Vollsicherungen zzgl. die jeweiligen differentiellen Sicherungen.

Eine weitere Änderung gegenüber dem Rotationssicherungs-Skript besteht in der Änderung beim Parameter „-L0“ und dem hinzufügen der Paramter „–CreateDir –FullIfHashIsMissing“. Ferner ist mit „set exclude=“ eine Vorbereitung für Ausschlüsse vorbereitet.

DS_Version_v1

  • Den Inhalt des Archivs z.B. unter „C:\Backup“ extrahieren.
  • Die Datei „backup.cmd“ und ggf. „Version.txt“ den eigenen Ansprüchen entsprechend anpassen.

5 Kommentare

  • Hallo!

    Vielen Dank für diese Informationen!

    Ich habe ein Verständnisproblem, was passiert hier:
    set /p Version=< Version.txt
    set Version=%Version: =%
    set /A Version=Version %% NumberOfVersionsToKeep + 1

    Vor allem die zweite Zeile macht mir zu schaffen….

  • set /p Version=< Version.txt

    Die Version wird aus der Datei "Version.txt" in die Variable "Version" eingelesen.

    set Version=%Version: =%

    An dieser Stelle wird ein überflüssige Leerzeichen entfernt.

    set /A Version=Version %% NumberOfVersionsToKeep + 1

    Die Version wird um eins hochgezählt, außer es wird das Limit ("NumberOfVersionsToKeep") erreicht, dann geht's von vorne los.

  • Dieses Script ist perfekt! Wie kann ich das Error-LogLevel mit smtpsend vom Rotations-Script hier rein basteln? Bekomme es nicht hin….

  • So als „Schnellschuss“ (ungetestet):

    Im Abschnitt „Konfiguration“ die Zeile

    set error=false

    einfügen.

    Nach jedem „snapshot…“-Befehl die Zeile

    if not %errorlevel%==0 set error=true

    einfügen.

    Am Ende des Skripts die Zeilen


    rem E-Mail
    :email

    echo. > e-mail.txt
    if %error%==false echo Die Datensicherung am %Datum% um %Uhrzeit% von Computer %computername% war erfolgreich. >> e-mail.txt
    if %error%==true echo Die Datensicherung am %Datum% um %Uhrzeit% von Computer %computername% war NICHT erfolgreich. >> e-mail.txt

    REM Toolssmtpsend.exe -fABSENDER -tEMPFAENGER -hMAILSERVER -sDatensicherung -ie-mail.txt -luBENUTZERNAME -lpKENNWORT
    REM Toolssmtpsend.exe -fABSENDER -tEMPFAENGER -hMAILSERVER -sBackup -i%LogDir%%Week%-%Weekday%.txt -luBENUTZERNAME -lpKENNWORT

    einfügen und smtpsend einkommentieren als auch konfigurieren.

  • Pingback: Windows: Robocopy-Backup mit Versionen | Andys Blog – Linux & Windows

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.