Windows: Rotationssicherung mit Drive Snapshot – Version 2.0

Nachdem die erste Version dieses Skripts durchaus eine gewisse Beliebtheit erlangt hat, folgt nun eine neuere Version. Dieses basiert zum einen auf der Änderung von Norbert (Danke nochmals) als auch auf den Neuerungen bei der Verwendung von VSS durch Drive Snapshot v1.41. Ferner wird von Windows ab Vista oder neuer ausgegangen. Man kann es aber auch mit ein paar kleineren Änderungen unter Windows XP verwenden.


Eine neuere Version des Skripts ist hier verfügbar!


Voraussetzungen

  • Einen Ordner “C:\Backup”, einen Unterordner “C:\Backup\Tools” und “C:\Backups\Logs” anlegen.
  • Die Tools weekday.exe und smtpsend.exe herunterladen und in den Unterordner “Tools” speichern.

Das Skript

Dieses Skript ist so ausgelegt, das es eine Sicherung auf ein Netzlaufwerk durchführt und am Ende eine E-Mail mit dem Protokoll versendet. Mit ein paar wenigen Handgriffen kann man es in “alle” Richtungen entsprechend auf die eigenen Bedürfnisse abändern.

@echo off

rem Fenster-Titel festlegen

 title Datensicherung

rem Konfiguration

 rem Zielpfad festlegen
 rem Zur Verwendung eines lokalen Ziels die "net use"-Befehle auskommentieren und die Ziel-Variable entsprechend aendern.

  rem Netzlaufwerk verbinden

   net use V: \\BACKUPSERVER\backup KENNWORT /user:BENUTZERNAME /persistent:no

  set Destination=V:
  REM set Destination=F:\Backup\%computername%

 rem Pfad fuer die Protokolle festlegen

  set LogDir=C:\Backup\Logs

 rem Festlegen, wie viele Wochen gesichert werden

  set NumberOfWeeksToKeep=4

 rem Tag der Vollsicherung festlegen

  set FullBackupDay=Monday

rem Woche auslesen und Leerzeichen entfernen

 set /p Week=< Week.txt
 set Week=%Week: =%

rem Wochentag auslesen

 Tools\weekday.exe > weekday.txt
 set /p Weekday=< weekday.txt

rem Vollstaendige Datensicherung ausfuehren, sofern der Tag stimmt.

 if %Weekday%==%FullBackupDay% goto full

rem Ausfuehren der differentiellen Datensicherung

 snapshot.exe HD1:1 %Destination%\Diff-%Week%-%Weekday%-$disk.sna -h%Destination%\Full-%Week%-%FullBackupDay%-$disk.hsh -WT --novss -L350 > %LogDir%\%Week%-%Weekday%.txt
 snapshot.exe C: %Destination%\Diff-%Week%-%Weekday%-$disk.sna -h%Destination%\Full-%Week%-%FullBackupDay%-$disk.hsh -RWT --AllWriters -L307200 >> %LogDir%\%Week%-%Weekday%.txt

 goto email

rem Ausfuehren der vollstaendigen Datensicherung
:full

 rem Wochenwechsel

  set /A Week=Week %% NumberOfWeeksToKeep + 1
  echo %Week% > week.txt

  snapshot.exe HD1:1 %Destination%\Full-%Week%-%Weekday%-$disk.sna -WT --novss -L350 > %LogDir%\%Week%-%Weekday%.txt
  snapshot.exe C: %Destination%\Full-%Week%-%Weekday%-$disk.sna -RWT --AllWriters -L307200 >> %LogDir%\%Week%-%Weekday%.txt

rem E-Mail
:email

 Tools\smtpsend.exe -fABSENDER -tEMPFAENGER -hMAILSERVER -sBackup -i%LogDir%\%Week%-%Weekday%.txt -luBENUTZERNAME -lpKENNWORT

rem Netzlaufwerk trennen

 net use V: /d

Für Windows ab Vista wird die Boot-Partition (HD1:1) berücksichtigt.

Als maximale Größe für die Abbilddatei wird mittels des Parameters “-L” für die Boot-Partition ab Windows Vista 350 MB (Vista/7/2008/2008 R2 = 100MB, 8/2012 = 350MB) und für das Laufwerk “C:\” 300 GB angegeben.

Möchte man dieses Skript unter Windows XP verwenden, so sind die Zeilen mit “snapshot.exe HD1:1…” mit einem vorangestellten “rem” auszukommentieren.

Verwendet man kein Netzlaufwerk, so ist das Skript entsprechend abzuändern.

Sichert man mehr als das Laufwerk “C:\” so kann man einfach weitere Laufwerke entsprechend anhängen:

snapshot.exe C:+D:...

Links

Windows: Fehler mit Drive Snapshot v1.41 und dem Parameter “–AllWriters” vermeiden

Windows: Drive Snapshot 1.41

Windows: Drive Snapshot, Windows 8 und Windows Server 2012

Windows: VSS-Fehler mit Drive Snapshot vermeiden

5 Kommentare

  1. Markus

    Hi,
    bin gerade auf dein Scrip gestoßen und sehr begeistert was ihr beide da hinbekommen habt.
    Ich habe noch eine Frage zu der Anpassung. Was passiert am Dienstag, wenn an meinem FullBackup am Montag nicht gesichert wurde?
    Vielen Dank für die Arbeit!

    Grüße
    Markus

  2. andy

    Sofern es ein Backup mit der passenden Nr. gibt, werden alle Änderungen seit diesem Backup gesichert.

  3. Markus

    danke, hört sich gut an 🙂

    Jetzt habe ich noch folgendes merkwürdige Problem.
    Wenn ich das Script doppelklicke, läuft es perfekt. Sobald ich es aber über die Aufgabenplanung starte, passiert nichts mehr. Als Fehler steht in der Aufgabenplanung auch nur (0xFF).
    “Mit höchsten Berechtigungen ausführen” habe ich auch schon versucht.
    Eigentlich kann man hier doch nichts falsch machen, aber es geht an zwei verschiedenen “Windows 7” PCs nicht.

  4. andy

    Geb mal bei “Ausführen in” den Ordner an, in dem das Skript liegt.

  5. Markus

    danke

Schreibe einen Kommentar

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

© 2024 Andy's Blog

Theme von Anders NorénHoch ↑