Windows: Rotationssicherung mit Drive Snapshot – Version 3.0

Die Version 2.0 ist noch gar nicht so lange her, aber dennoch gibt es ein paar kleine Änderungen:

  • Umstellung beim Schreiben der Logs auf den Parameter “–LogFile:”. Diese Änderung wurde notwendig, damit der Sensor von Server-Eye die Datensicherung erfolgreich überwachen kann. Siehe dazu auch diesen Beitrag.
  • Überwachen des Errorlevels von Drive Snapshot um anhand dessen eine einfache E-Mail mit dem Text “Die Datensicherung … war (NICHT) erfolgreich” versenden zu können. Der Befehl zum Versenden des vollständigen Logs ist nach wie vor vorhanden.
  • Als “Voreinstellung” ist nun ein lokales Backup-Ziel (statt Netzlaufwerk) eingetragen.

Voraussetzungen

  • Einen Ordner “C:\Backup”, einen Unterordner “C:\Backup\Tools” und “C:\Backups\Logs” anlegen.
  • Die Tools weekday.exe (ab 3.2 nicht zwingend erforderlich) und smtpsend.exe herunterladen und in den Unterordner “Tools” speichern.
  • Eine Datei “week.txt” mit dem Inhalt “4” (ohne Anführungszeichen) unter “C:\Backup” erstellen, damit das erste erstellte Backup mit der “Woche 1” beginnt.
  • Wird das Skript als “Geplanter Task” (bis Windows XP/Server 2003) bzw. “Aufgabe” (ab Windows Vista/Server 2008) ausgeführt, muss unter “Ausführen in:” bzw. “Starten in (optional):” “C:\Backup” eingetragen werden.

Das Skript

Das Skript muss (wie gehabt) auf die eigenen Anforderungen (Lokales oder Netzwerk-Backup, E-Mail-Versand, zu sichernde Laufwerke, etc.) angepasst werden.

DSRotBackup_v3.zip

DSRotBackup_v31.zip – Änderungen siehe Update vom 28.08.2015 am Ende des Beitrags.

DSRotBackup_v32.zip – Änderungen siehe Update vom 12.01.2017 am Ende des Beitrags.

DSRotBackup_v33.zip – Änderungen siehe Update vom 09.01.2025 am Ende des Beitrags.

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.

Als maximale Größe für die Abbilddatei wird mittels des Parameters “-L” unbegrenzt eingegeben.

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 ein 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

Update 28.08.2015

In Version 3.1 gibt es ein paar wenige “kosmetische” Veränderungen. So wurden die Parameter “–FullIfHashIsMissing” und “–CreateDir” an die Snapshot-Befehle angehängt (siehe Snapshot – Kommando Zeilen Parameter für Windows). Ferner wurde “-L” auf “-L0” geändert (siehe dazu Drive Snapshot – Online-Hilfe und Handbuch – Ein Vergleich lohnt sich). Darüber hinaus ist im neuen ZIP-Archiv bereits die Ordnerstruktur und die Weekday.exe enthalten.

Insgesamt sollte es mit der neuen Version einfacher bzw. schneller sein, Drive Snapshot mit diesem Skript zum Laufen zu bringen. An die persönlichen Anforderungen anpassen muss man das Skript dennoch.

Tipp: Möchte man nicht via “–FullIfHashIsMissing” die erste Vollsicherung erstellen, so kann man Zeile 42 (“REM SET Weekday=Monday”)einkommentieren und das Skript einmalig ausführen. Anschließend die Zeile wieder auskommentieren.

Update 12.01.2017

Mit Version 3.2 gibt es ein paar weitere Änderungen:

Ab Zeile 42:

Alternative zur “Weekday.exe” hinzugefügt. Keine Abhängigkeit zu externem Tool. Diese Änderung wurde notwendig, da unter Umständen AutoIt-Anwendungen als Aufgabe “hängen” bleiben.

Siehe dazu auch die Kommentare unter

Windows: weekday.exe – Ein kleines Tool für die Kommandozeile und Skripts

Ab Zeile 82:

Vor dem Start der eigentlichen Vollsicherung wird der alte Backup-Satzes entfernt, um Platz-Problemen vorzubeugen (DS benötigt ggf. mehr Speicher während die Sicherung erstellt wird) und um zu verhindern, das versucht wird von unvollständigen Satz wiederherzustellen.

Ab Zeile 93:

Ereignisprotokoll-Einträge werden erstellt (relevant für neuen Server-Eye DriveSnapshot-Sensor), siehe dazu:

Server-Eye, Drive Snapshot und Einträge ins Ereignisprotokoll – Ideen und Umfrage

Update 09.01.2025

Wie im Beitrag Windows: wmic veraltet und in Windows 11 24H2 nicht mehr enthalten, was nun? zu lesen ist, wurde ein Befehl seitens Microsoft abgekündigt. In der früheren Skript-Version 3.2 betrifft das die Auswertung welcher Wochentag gerade ist. Quasi als Drop-in-Replacement wird im Skript ab Version 3.3 statt

rem Wochentag auslesen

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

 for /f %%g in ('wmic path win32_localtime get dayofweek^|findstr /v /r "^$"') do (set Weekday=%%g)

 if %Weekday%==0 set Weekday=Sunday
 if %Weekday%==1 set Weekday=Monday
 if %Weekday%==2 set Weekday=Tuesday
 if %Weekday%==3 set Weekday=Wednesday
 if %Weekday%==4 set Weekday=Thursday
 if %Weekday%==5 set Weekday=Friday
 if %Weekday%==6 set Weekday=Saturday

dieses hier verwendet:

rem Wochentag auslesen

 PowerShell Set-Culture -CultureInfo en-EN
 for /f "delims=" %%i in ('PowerShell Get-Date -Format "dddd"') do set "Weekday=%%i"
 PowerShell Set-Culture -CultureInfo de-DE

Dieser Dreizeiler gibt direkt den Wochentag gewohnt in englischer Sprache an, d.h. es ändert sich im weiteren Ablauf des Skripts nichts.

50 Kommentare

  1. Klaus

    Hallo andy,
    erst mal vielen Dank für Deine Antwort.
    Habe heute auf den Server alles gelöscht und Dein Script laufen lassen.
    Lief alles ohne Fehlermeldung.
    Mal sehen was nächste Woche mit den DiffBackup ist ?
    Testimage war OK.

    Melde mich dan (hoffentlich mit einer Erfolgsmeldung)

    Gruß Klaus

  2. volker

    Hallo Andy,

    vielen Dank für dein Script. Es funktioniert bestens. Ich hab mal die Variable
    weekday mit Boardmitteln angepasst. Bin in Sriptprogrammierung nicht sonderlich bewandert. Ich hab es im Netz gefunden. Funktioniert bestens.

    ::–Wochentag auslesen–
    set weekday=
    for /f %%g in (‘wmic path win32_localtime get dayofweek^|findstr /v /r “^$”‘) do (
    set DOW=%%g)
    if %DOW%==0 set weekday=Sonntag
    if %DOW%==1 set weekday=Montag
    if %DOW%==2 set weekday=Dienstag
    if %DOW%==3 set weekday=Mittwoch
    if %DOW%==4 set weekday=Donnerstag
    if %DOW%==5 set weekday=Freitag
    if %DOW%==6 set weekday=Samstag

  3. Klaus

    Hallo Andy,
    habe nun einen neuen Versuch gestartet und nun geht gar nichts mehr.
    Soll heißen ich komme nicht mehr auf den Server.
    Habe nun folgendes ausprobiert:
    1. net use Y: \DISKSTATIONBackup XXXXXXX /user:DISKSTATIONXXXXX /persistent:no
    —> Systemfehler 1219
    2. net use —> Es sind keine Einträge in der Liste
    3. net use Y: /DELETE —> Die Netzwerkverbindung konnte nicht gefunden werden.

    Hast Du eine Idee was ich falsch mache ??

    Gruß Klaus

  4. Klaus

    So nach dem Neustart ging wieder alles.
    Wie kann ich den das Problem lösen falls schon eine Netzwerkverbindung besteht ??
    Funktioniert es damit ?? –> net use * /delete /yes >NUL
    Gruß Klaus

  5. andy

    Mit “net use * /d…” werden alle Netzlaufwerke getrennt, ob das so gewünscht ist, hängt von der jeweiligen Anforderung/Umgebung ab.
    Im Skript selbst ist ganz unten ein Trennen vom Backup-Netzlaufwerk vorgesehen/vorbereitet:

    rem Netzlaufwerk trennen
    REM net use V: /d

    Man muss nur das “REM” entfernen und, sofern geändert, den Laufwerksbuchstaben ändern.
    In deinem Fall, basierend auf den vorigen Kommentaren, also von “V:” zu “Y:”.

    Um den Fehler 1219 zu vermeiden, mal die IP-Adresse der Diskstation statt des Hostnamens verwenden.

    Erfahrungsgemäss kann ich sagen, das es so bei uns und den Kunden funktioniert.

  6. Klaus

    Hallo Andy,
    vielen Dank für Deine Antwort.
    Werde berichten ob alles klappt.

    Gruß Klaus

  7. Edwin

    Hallo Andy,
    Leider ist mein deutsch nicht so gut aber die wurde es muglich sein um das script so zu andern das er automatisch ein full image macht wen das geplante full image nicht gelaufen hat. Jetzt wird die erstvolgende gutte image die nachste full image. Allen diff images gelungen nicht.

    Gruss,
    edwin

    Now in englisch for the case i typed something wrong 🙂
    Is it possible to change the script so it will perform a full image instead of diff image if the planned full image has failed.
    For example. Full image is supposed to run on sunday but somehow computer was switched off. Now on monday the script tries to make a diff image but cannot find the right hash file and failes. This process keeps repeating for the following days until it is sunday again. Hopefully the computer is switched on and the full image will run and also the rest of the week all the diff images.

    regards,
    edwin

  8. andy

    Hi Edwin,

    just add the cli-option “–FullIfHashIsMissing” to the end of the lines 63 and 65.

    Source:

    Snapshot – command line options

  9. Thomas

    Servus Andy.
    Kann es sein, daß das Script nach einer DIFF Sicherung nicht “aufhört”, sondern dann auch noch die FULL Sicherung macht?
    Bei mir ist es zumindest so. Hab aber nichts verändert, außer den Email-Versand auskommentiert.
    Er hört nach der DIFF nicht auf und arbeitet auch noch die
    :full
    ab.
    Gruß

  10. andy

    Nicht im einem Original-Skript, da ca. in Zeile 60 ein “goto email” steht, was dafür sorgt, das nach der Diff-Sicherung der Full-Block übersprungen wird.

  11. Thomas

    Oh Mann!
    Da saß das Problem mal wieder VOR dem Bildschirm. 😉
    Merci

  12. Sebastian

    Hallo,
    ich würde gern das Script bei mir einsetzen. Gibt es eine Möglichkeit das ältere Backups gelöscht werden ? Auf meinem Nas ist nur Platz für max 2 Zyklen. Schön wäre wenn die alten Backups automatisch gelöscht/überschrieben werden. Oder habe ich etwas übersehen?
    Vielen Dank & Gruß

    Sebastian

  13. andy

    Hallo Sebastian,

    bei “NumberOfWeeksToKeep” stellst du “2” ein.

    Die Backups werden so oder so immer überschrieben.

    In Woche 1 werden die Backups der Woche 1 überschrieben,
    in Woche 2 die von Woche 2 usw.

    Temporär wird während des Erstellens des Backups etwas mehr Speicherplatz benötigt, wenn der Platz also zu knapp ist, muss man mal sehen, das man entweder noch einen del-Befehl einbaut, der die alten Sicherungen entsorgt, bevor gesichert wird.

    Alternativ delage32 regelmässig laufen lassen bzw. mit einbauen.

    Falls der Fall eintritt, einfach kurz melden, dann schau ich danach.

  14. edwin

    @Andy. Thanks, will try

  15. edwin

    @Andy. Worked like a charme. So simple.
    Btw what was the reason to limit the files size on the actual partition size and not cut the image into chunks of say 4.5 Gb?

  16. andy

    There’s no technical reason for it, just a matter of taste.
    I like the better overview with just a few files.

    But if the filesystem of your destination have limitations, like for example FAT32 with max. file size of 4 GB it’s necessary to limit the image-size.

    You could automatically set the image-filesize to unlimited (means: just the necessary space for the image), if you set “-L0”.

  17. edwin

    Thanks for clearifying. The L=0 option is new to me.

  18. andy

    The possibility to set “-L” to zero is described in the german manual. So far i know, there’s no english manual available.
    I missed this “trick” till another blog-reader told me.

  19. Karl

    Hast du dir mal das c’t Backupskript angeschaut aus der 2015 02 ?
    Ich finde das ganz praktisch und hab es für Win 7 mal umgesetzt.
    Es gibt einige Szenarien bei dem ich zu Drive Snapshot greife aber ich bin am überlegen meine Sicherungen mit der c’t Version zu machen.
    Was hältst du davon.

    Gruß Karl

  20. andy

    Hallo Karl,

    ja, das Skript habe ich gesehen. Allerdings habe ich schon oft Probleme mit den Bordmiteln von Windows gehabt, von daher greife ich leiber zu einer Lösung, die seit Jahren macht was sie soll. Mit Drive Snapshot gab’s bislang (zumindest bei mir bzw. uns) keine Überraschungen beim Restore, was wir von Acronis, Windows Backup, Symantec/Veritas nicht behaupten können.

    Es kann aber gut sein, das da jeder andere Erfahrungen macht als auch andere Vorlieben hat.

    Ich persönlich werte als weiteren Vorteil bei Drive Snapshot, das sich das grundlegende Handling als auch die Optik seit Jahren nicht wesentlich geändert hat. Es mag nicht hübsch sein, dafür aber funktional und hauptsache ist das es läuft.

  21. Karl

    Wohl war. Acronis und co. haben bei mir auch schon etliche Probleme gemacht.
    Bezüglich des Skriptes. Es nutzt die Funktion zur Erstellung von Windowssystemabbildern. Damit hatte ich seit Windows 7 nie Probleme bei der Installation. Es läuft ein vollständige Hardwareerkennung durch wie bei eine Neuinstallation. Da ist es vollkommen egal ob die Festplatte per SATA / IDE / Raid angebunden wird und wie viel sich an der Hardware geändert hat.
    Das kann ich leider von Drive Snapshot nicht behaupten. Da war dann ab und zu mal Handarbeit notwendig nach der Wiederherstellung.

    Vollständig ablösen wird es wohl Drive Snapshot nicht. Dafür ist es Drive Snapshot einfach zu flexibel ob USB-Stick oder WinPE es funktioniert und ist sofort dienstbereit.

    Das Platzsparen über mehrere Systeme hinweg ist schon lukrativ bei 4 zu Sichernden Windows-Systemen.

    Gruß Karl

  22. der Maier

    Hallo Andy
    heißen Dank für dieses Script, bzw. seinen Vorgänger. Mit dieser Starthilfe war es mir leicht möglich ein schlankes PE aufzusetzen, mit dem ich probellos Batchen kann. Robocopy für die Daten Drive Snapshot fürs System. Plug&Autobackup. oder wie auch immer …
    So wird’s flexilbler: ..
    Habe Ihr Script wie folgt geändert: PE-startet lediglich ein autostart.cmd und das liegt nicht auf der Ramdisk sondern im Root verzeichnis des Bootmediums. Im Ersten Schritt ist dafür ihr Start-Batch ganz vorzüglich geeignet. Auch Neulinge können den Batch leicht an ihre Wünsche anpassen. Ensprechend gehört auch die snapshot.exe nicht in die WIM -> Ramdisk sondern in ein ergänzbares x:PApps Verzeichnis. Schon allein, damit man einen Lizenz-Key einpflegen kann. Die Lösung ist auch deshalb besser, weil ich anschließend das WAIK/ADK wieder abschießen kann, wenn ich es sonst nicht brauche.
    Allerdings verstehen sie das bitte nicht als Kritik, auch wenn es so gemeint ist 😉 Aber das ist ein geschenkter Gaul. Es gilt also mein obiger Dank! Einen anwenderfreundlichen Batch zur PE-Generierung würde ich eher von Tom Ehlert Software erwarten. Mit seine Anleitung zur Erstellung einer DOS-Diskette erweckt dagegen den Eindruck erweckt er den Eindruck eine Antiquität zu verkaufen. Dazu ist diese Software wirklich zu schade.
    By the way: Auch das schicke c’t Notfallwindows von Heise landet so unzugänglich auf den Stick.
    http://www.andysblog.de/drive-snapshot-im-ct-notfall-windows
    Und auch dieser Mangel ist leicht zu beheben. 😉

  23. Andreas

    Hallo zusammen,
    first things first: Ich bin begeistert von diesem Blog, mit seinen tollen Anregungen und Hilfestellungen!
    Ich benutze snapshot, seit ich mit den Tools von Windows immer wieder Schiffbruch erleidet habe.
    Nun mein Problem: Die Komplettsicherung von drei Partitionen insgesamt um die 750 GB auf ein NAS-Laufwerk mit snapshot hat 19 (!) Stunden gedauert. Das kann ich nicht wöchentlich machen.
    Daher meine Vorstellung einer .bat-Datei, mit der ich
    -monatlich am 1. um 00:01 eine Komplettsicherung, und
    – wöchentlich am Montag 00:01 eine differentielle Sicherung mache
    – nach der monatlichen Sicherung die vorherige Generation von Komplett- und diferentiellen Sicherungen lösche.
    Das Ganze soll über den Task Scheduler laufen, was auch so klappt.

    Ich habe mir
    http://www.andysblog.de/wp-content/uploads/2013/05/DSRotBackup_v3.zip
    angesehen und muss sagen, im Moment übersteigt es meine Fähgikeiten, das Skript wie beschrieben anzupassen (Emailfunktion brauche ich nicht). Vor allem die Parametrisierung von 1-2-3-4 Wochen-Zyklen und die Logik, gezielt zu löschen.
    Vielleicht hat jemand Zeit und Lust, mir dabei zu helfen?
    Muss nicht das komplette Skript schrankfertig sein, aber ein paar Tipps wären toll.
    Grüße allerseits,
    Andreas

  24. andy

    Hallo Namensvetter,

    danke für die Blumen. Ich hab’ da was in Petto, ein bislang unveröffentliches Skript, das ich für zwei Kunden geschrieben habe.
    Die Drive Snapshot-Sicherung läuft dabei Versions-basiert. Damit ist man z.B. unabhängig vom Wochentag (das war bei den Kunden relevant, da die dortigen PCs nicht jeden Tag eingeschaltet sind).
    Ich muss noch ein Review vom Skript machen und packe das dann in einen eigenständigen Beitrag und verlinke es im (nächsten) Kommentar.

    Schätzungsweise könntest du dieses Skript dann als Grundlage verwenden.

  25. Reinhard

    Hallöchen an die Runde,

    es geht um Erfahrungen mit den Diff-Backups. Meines Erachtens und meiner Erfahrung nach dauern die Diff´s beinahe genau so lange wie das Full-Backup, da wird zwar nicht so viel geschrieben, allerdings benötigt der Scan für das Diff eben soviel Zeit. Daher mache ich z.B. ausschließlich volle Backups. In meinem Falle reicht auch wöchentlich mit 5 Generationen.

    Geht´s bei Euch schneller?

    Gruß Reinhard

  26. andy

    Meiner Erfahrung nach hängt die Dauer der Diffs je nach Umfang der Daten insgesamt (wovon ja wiederum auch die Dauer der Prüfung abhängig ist), des Umfangs der Änderungen gegenüber der Vollsicherung, der Art des Ziels (USB-HDD, NAS, … Stichwort: Bandbreite) ab. I.d.R. (zumindest bei uns und unseren Kunden) geht das schneller als die Vollsicherung, aber wie erwähnt mag das Variieren.

    Evtl. hängt’s noch davon ab, ob der integrierte Treiber oder VSS verwendet wird. Erfahrungsgemäss kann das Erstellen der Schattenkopie je nach verwendeter Anwendung (Exchange, SQL, …) und der Performance der Hardware (SATA, SAS, RAID-Level, …) durchaus eine Weile in Anspruch nehmen.

  27. andy

    Wie zwei Kommentare zuvor angekündigt, nun der Link zum Skript, das Sicherungen auf Basis von Versionen erstellt:

    http://www.andysblog.de/windows-versions-basierte-drive-snapshot-sicherungen

  28. Wolfgang HAuer

    Wenn wer Probleme mit der Dauer von Diff-Sicherungen hat, sollte sich vielleicht mal http://www.veeam.com/de/endpoint-backup-free.html
    anschauen. Die verstehen was von Sicherungen,, kostet für den Arbeitsplatz nichts und Diff-Sicherungen sind nur eine Frage der Größe der Änderungen und (fast) nicht von der Datenmenge. Meine tägliche Sicherung von ca. 500 GB dauert 4 Minuten.

    Liebe Grüße
    Wolfgang

  29. Andreas

    Hi Andy,
    vielen Dank für die prompten Antworten, ich schau mir das an und versuche, es anzupassen.
    Was die Dauer, Bandbreite etc. betrifft – bei mir steht ein antiker Router Speedport 701 V, der mit 100 Mbit/s läuft, also das ist nix. 750 GB in 19 Stunden!
    Es kommt ein Gigabit-fähiger Speedport 724, mein PC hat eine Gigabit-Netzwerkkarte, die Kabel sind auch G5.e, damit müsste es einen Tick schneller gehen.
    Mersi nochmal,
    Andreas

  30. andy

    Was mir zum Performance-Thema noch einfällt:

    Möglich, das der Speicherort der Hash-Datei ebenfalls eine Rolle spielt. Soll heißen: Liegt diese auf dem System, das gesichert wird oder auf dem Backup-Ziel.
    Bei meinen Skripts liegt diese im übrigen im Ziel.

    Wir hatten früher, ist Jahre her, unter VMware ESXi und die ersten Hyper-V’s ebenfalls das Problem, das die Performance über’s LAN für die Menge der Daten (ganz gleich ob Voll oder Diff) nicht ausreichend war.
    Abhilfe schaffte seinerzeit nicht über’s LAN, sondern über ein eigenes Netz, das zwischen Host und Gast/VM verlief, also rein virtuell war, zu sichern.
    Dazu sei erwähnt, das es sich um stand-alone Hypervisor-Server handelte und entweder USB-Festplatte oder Wechsellaufwerke (RDX und SATA-HDD im Wechselrahmen [Hot-plug fähig]) zum Einsatz kamen.

    Bei USB und Netzwerk hat man gleich mehrere potentielle Engstellen: Die Netzwerk-Geschwindigkeit, die USB-Geschwindigkeit, die Strecke, wenn über das Netzwerk auf eine (freigegebene) USB-Festplatte gesichert wird, usw.

    Ferner spielt eine Rolle welche Version von SMB (Netzwerkprotokoll) und USB zum Einsatz kommt, USB 2.0, USB 3.0, SMB1, 2 oder 3 etc.

  31. andy

    Veeam nutz wieder eine etwas andere Technik. Im Gegensatz zu Drive Snapshot kann man Veeam aber nicht einfach irgendwo hinkopieren und ausführen. Das kann je nach Anspruch aber ein rein “kosmetisches” Thema sein.
    Grundsätzlich gilt (ganz gleich welche Lösung man einsetzt oder bevorzugt): Es muss funktionieren, beim Sichern und auch beim Wiederherstellen.

  32. andy

    Kleiner Nachtrag zum Thema Performance aus gegebennen Anlass:

    Bei einem Kunden haben wir das Szenario, das auf ein NAS im Nachbargebäude gesichert wird, leider versteht der Netzwerkspeicher nur SMB1 und es geht um Datenmengen > 2 TB (Vollsicherung, insgesamt), dementsprechend ist die Geschwindigkeit als auch die Dauer der Sicherung ist “nicht gerade der Hit”.

    Da das NAS aber auch FTP kann (genauso wie Drive Snapshot) haben wir das mal umgestellt. Zu beachten ist, das die Hash-Files dann lokal liegen müssen! Ich hab’ jetzt leider keine Messwerte zur Hand, aber bei einem vorangegangenen Test mit 30 GB sahen die Zeiten wie folgt aus:

    SMB1: 21 Minuten
    FTP: 13 Minuten

    Allerdings ist das nur Backup ohne Verify/Test. Der Unterschied klingt nach nicht viel, aber je größer die Datenmenge ist, umso mehr macht sich “jede Kleinigkeit” bemerkbar.

  33. Matti

    Hallo Andy,

    bekomme das Skript leider nicht zum Laufen.
    Egal, welchen Pfad ich für die Sicherung angebe, ich erhalte immer diese Meldungen:

    09:26:21 Start of Snapshot 1.43 [Nov 12 2014] at 27.08.2015
    09:26:21 Running on Windows 7 64-bit Service Pack 1 (7601)
    09:26:21 Memory Info: Total: 8082Mb, Free: 4872Mb, Pagefile total: 16164Mb, Pagefile free: 12848Mb
    09:26:21 Command line: snapshot.exe C: C:BackupL-TMU1450-MMDiff-ECHOistausgeschaltet(OFF).-Thursday-$disk.sna -hC:BackupL-TMU1450-MMFull-ECHOistausgeschaltet(OFF).-Monday-$disk.hsh -RWT –AllWriters -L307200 –LogFile:C:BackupLogsCurrent.log
    09:26:21 ***********************************************************
    09:26:21 Snapshot error HashFileUtils, line 1002
    09:26:21 Error opening hash file C:BackupL-TMU1450-MMFull-ECHOistausgeschaltet(OFF).-Monday-C.hsh.
    09:26:21 last Windows Error: 3-Das System kann den angegebenen Pfad nicht finden.
    09:26:21 ***********************************************************
    09:26:21 ***********************************************************
    09:26:21 Snapshot error NTCOPY, line 2087
    09:26:21 can’t open hash file C:BackupL-TMU1450-MMFull-ECHOistausgeschaltet(OFF).-Monday-C.hsh
    09:26:21 last Windows Error: 3-Das System kann den angegebenen Pfad nicht finden.
    09:26:21 ***********************************************************
    09:26:21 Error occurred – exitcode 22
    09:26:21 End of Snapshot 1.43 [Nov 12 2014] at 27.08.2015

    Würde mich sehr über einen Lösungsvorschlag freuen!

    Gruß

    Matti

  34. andy

    > 09:26:21 Snapshot error HashFileUtils, line 1002
    > 09:26:21 Error opening hash file C:BackupL-TMU1450-MMFull-ECHOistausgeschaltet(OFF).-Monday-C.hsh.

    Wurde denn zuvor eine Vollsicherung erstellt? Alternativ “–FullIfHashIsMissing” an die Zeile(n) der differentielle Sicherung anhängen.
    Die Meldung sagt aus, das eine differentielle Sicherung erstellt werden soll und das Hash-File (das bei einer Vollsicherung erzeugt wird) nicht gefunden werden kann.
    Gibt es die Pfade?

    Ist es absicht auf das Laufwerk, von dem eine Sicherung erstellt werden soll, zu speichern?
    Falls ja, sollte man den Zielpfad von der Sicherung ausschließen (‘–exclude:”Backup”‘ an die Zeilen mit “snapshot…” anhängen) und eine Kopie der Sicherung auf einem anderen physikalsichen Medium ablegen.

    Die Parameter sind hier beschrieben:

    Snapshot – Kommando Zeilen Parameter für Windows

  35. Matti

    Hallo Andy,

    danke für deine zügige Antwort.
    Hatte gestern übersehen, dass das Full-Backup im Skript nur am Montag angelegt wird. Darum konnte es nicht funktionieren, da ich noch keine Vollsicherung im Ordner vorliegen hatte.

    Nein, die Sicherung soll eigentlich auf einen Server.
    Da es darauf aus demselben Grund nicht klappte, hatte ich nur zum Test mal Laufwerk C: angegeben.

    Schönes Wochenende!

  36. andy

    Dann hat sich ja alles geklärt.

    Hinweis am Rande: Ich habe heute eine Version 3.1 online gestellt (siehe Update im Beitrag).

  37. Reinhard

    Hallo Andy,

    eine Frage zur Partition HD1:1, ist es notwendig diese Partition auch immer regelmäßig zu sichern? m.E. sind dort keine Änderungen zu erwarten und es würde reichen, diese ggf. nur ein Mal abzulegen. Sie umfasst zwar nur ein paar MB (je nach Installation genau 2MB oder 100MB) aber bleibt doch vom Inhalt her gleich, oder?

    Beste Grüße
    Reinhard

  38. andy

    Das kann man machen wie man möchte, es kann ja alles angepasst werden.

    Persönlich bevozuge ich es, alles zu sichern. Im Desaster-Fall hat man nicht unbedingt die Ruhe (Mitarbeiter, Vorgesetzter, Kunde warten ungeduldig auf ein wieder funktionierendes System, u.U. ist man selbst Nervös, Unerfahren, …) um daran zu denken, das die Daten dieser Partition nicht gesichert wurden und entsprechend anderweitig wiederhergestellt werden müssen.

    Viele Änderungen an der Boot-Konfiguration gibt es i.d.R. nicht, außer es ändert sich etwas am Boot-Manager. Man könnte die Sicherung auch ganz weg lassen, da man den Boot-Code über die entsprechenden Tools wiederherstellen, reparieren bzw. neu erstellen lassen könnte. Ist (imho) aber meist mehr Aufwand, das eine Sicherung zu haben, die schnell und einfach wiederhergestellt werden kann.

    Wenn man nur einmal sichert und diese Sicherung verloren geht oder beschädigt wird, ist das ebenfalls ungünstig. Letzteres fällt meist erst im Fall X auf, wenn man mal wiederherstellen muss.

  39. Reinhard

    Hallo Andy,

    zur Sicherung/Rückspielen der HD1:1

    ich hatte in der Vergangenheit das Problem, dass bei Rückspielen mit dieser Partition Windows zwar gestartet ist, allerdings seltsamerweise meine Maus nicht erkannt wurde. Ich hatte damals alles probiert, d.h. auch verschiedene einfache Mäuse über USB angeschlossen, sowie natürlich auch die boardeigene Eingabemöglichkeit meines Notebooks. Nichts funktionierte. Googlen nach diesem Fehler brachte kein Ergebnis. Anfragen an meine Fachleute brachten nur Kopfschütteln hervor…

    Nachdem ich mein Backup aus Acronis (siehe auch ein paar Kommentare vorher) wieder eingespielt und danach die Systempartition zurückgespielt hatte, lief alles wieder einwandfrei. Daher bin ich ein gebranntes Kind inbezug auf HD1:1.

    Scheinbar kann dieses Phänomen niemand bestätigen – oder vielleicht doch? Ich suche immer noch nach einer Erklärung…

  40. Klaus

    Hallo Andy,
    möchte mal wieder einen neuen Versuch unternehmen Dein Sicherungsscript einzusetzen.
    Nachdem ich Windows neu installiert habe war bisher zu dumm um das Script zum laufen zu bekommen, deßhalb einige Anfängerfragen:
    Kann ich mehrere Rechner (XP und Win7) über ftp auf meine Diskstation sichern zB.: auf SicherungRechner1 ??
    Ist es auch möglich auf die externe Platte zu sichern z.B: W:SicherungRechner1 ??
    Wäre schön wenn Du mir beim anpassen Deines Scripts etwas helfen könntest.

    Arbeite lokal mit winscp:
    SET nameftp= ftp://User1:Passwort@www.diskstation.de -explicittls
    winscp.com /command “open %nameftp%” “put %name1% /Sicherung/Rechner1″exit”
    Bitte entschuldige meine vielen Anfängerfragen.

    Viele Grüße
    Klaus

  41. andy

    > Kann ich mehrere Rechner (XP und Win7) über ftp auf meine Diskstation sichern zB.: auf SicherungRechner1 ??

    Das Skript müsste angepasst werden oder im Anschluss an das Skript mit WinSCP o.ä. das Backup verschieben oder umkopieren.

    Warum eigentlich per FTP und nicht via UNC oder Netzlaufwerk?

    > Ist es auch möglich auf die externe Platte zu sichern z.B: W:SicherungRechner1 ??

    Grundsätzlich ja, das Skript ist entsprechend vorbereitet entweder auf ein Netzlaufwerk oder ein lokales Ziel (interne Festplatte, USB-HDD, …) sichern zu könen.

    Soll in diesem Fall parallel zur Diskstation gesichert werden oder wie ist das “auch” zu verstehen?

    > Arbeite lokal mit winscp:
    SET nameftp= ftp://User1:Passwort@www.diskstation.de -explicittls
    winscp.com /command „open %nameftp%“ „put %name1% /Sicherung/Rechner1″exit“

    Klingt nach einem Ansatz, man könnte WinSCP am Ende des Skripts ausführen lassen und wie bereits erwähnt die Sicherung umkopieren, verschieben etc.

  42. Klaus

    Hallo Andy,
    erst mal Danke für Deine ausführliche Antwort.
    “”Warum eigentlich per FTP und nicht via UNC oder Netzlaufwerk?””
    Eigentlich nur weil ich mal wieder nicht auf das Netzwerk komme, lieber wäre mir allerdings das Netzlaufwerk (Was ist UNC ??).
    Mit ” net use Y: \192.xxx.xxx.xxSicherungenBackup Passwort /user:DISKSTATIONadmin /persistent:no” bekomme ich folgenden Fehler:
    Systemfehler 53 – Netzwerkpfad wurde nicht gefunden
    Mit net view 192.xxx.xxx.xx wird mir die DISKSTATION mit allen Ordnern aufgelistet.
    Kannst Du mir vielleicht sagen was ich nun schon wieder falsch mache.
    Die Lokale Sicherung klappt einwandfrei – wenigsten schon ein kleiner Teilerfolg.
    Viele Grüße

    Klaus

  43. andy

    > Eigentlich nur weil ich mal wieder nicht auf das Netzwerk komme, lieber wäre mir allerdings das Netzlaufwerk (Was ist UNC ??).

    Dann erstmal diese Probleme lösen, bevor man weiter macht.

    Wikipedia – Uniform Naming Convention (UNC)

    > Mit “ net use Y: \192.xxx.xxx.xxSicherungenBackup Passwort /user:DISKSTATIONadmin /persistent:no“ bekomme ich folgenden Fehler:
    Systemfehler 53 – Netzwerkpfad wurde nicht gefunden

    > “ net use Y: \192.xxx.xxx.xxSicherungenBackup

    Ich schätze der letzte Schrästrich nach dem “…Backup” könnte für den Fehler verantwortlich sein. Einfach mal weglassen und schauen was passiert.

    Evtl. erstmal mit dem Explorer oder einem kürzerem Befehl (z.B. “net use Y: \192.xxx.xxx.xxSicherungen”) testen.

    Die Freigabe (“Sicherungen”) existiert?

    Evtl. fehlen Regeln in der Firewall, etc. die Meldung kann mehrere Ursachen haben.

  44. Klaus

    Hallo Andy,
    so mittlerweile läuft alles nochmals vielen Dank.
    Wie kann ich denn das Script umfunktionieren daß nur wöchentlich eine Sicherung und monatich eine Vollsicherung gemacht wird ??

    Viele Grüße

    Klaus

  45. andy

    In dem Fall ist es vermtl. einfacher das Skript aufzuteilen, so das es eines gibt, das 1x wöchentlich läuft und die Diff-Sicherung durchführt.
    Ein weiteres Skript macht dann nur die Vollsicherung, das via Aufgabenplanung z.B. am ersten Montag des Monats (o.ä.) läuft.

  46. andy

    Oder:

    Das Skript in der jetzigen Form wöchentlich an irgendeinem Tag ausser Montag (oder welchen Tag auch immer man als “Full-Backup”-Tag man konfiguriert hat) laufen lassen und nur einmal im Monat an einem “Montag” laufen lassen.

  47. Mike

    Hallo Andy
    Ich hab das 3.1 Script angepasst (Ziel,Full Backup Day)….

    Jetzt hab ich ein Problemchen das ich nicht verstehe….
    1.Sicherung
    Er soll am Donnerstag eine Vollsicherung machen,es ist Donnerstag und er startet und merkt das es keine Voll gibt,also macht er eine “Vollsicherung”.
    Full-4-Thursday-C.hsh die nur 230mb gross ist (?)
    Frage:Wieso fängt er mit 4 an?Ist die erste Sicherung überhaupt und 230MB bei einer 70GB Partition ist mal echt gutes Kmomprimierungsverhältnis….
    An irgendeinen Tag in der Woche wird dann das Diff 45GB gross (Da holt ersich anscheinend ein Fullbackup….

    Frage:Wenn dann wieder ein Thursfay kommt,wo er eine Voll machen soll:
    21:46:07 Command line: snapshot.exe C: Y:Diff-4-Thursday-$disk.sna -hY:Full-4-TUESDAY-$disk.hsh -RW –AllWriters -L0 –LogFile:C:BackupLogsCurrent.log –FullIfHashIsMissing
    21:46:14 The names of the differential and original image are identical.
    Please choose a different image name.
    21:46:14 Error occurred – exitcode 1

    Mir fällt da nichts mehr zu ein….Hat da jemand noch eine Idee

  48. andy

    *.hsh Dateien sind die Hasfiles, also die Dateien die die Prüfsummen der zu sichernden Dateien enthält. Die eigentliche Sicherung (Image/Abbild) wird in *.sna bzw. *.sn (je nach Konfig.) gespeichert.

    Mit 4 fängt das Skript an, da im “Auslieferzustand” am Vollsicherungs-Tag autom. auf die nächste Woche gewechselt wird. I.d.R. und wenn sonst nichts geändert wurde hat die erste Sicherung eine 1.

    Möchte man den Tag an dem eine Vollsicherung erstellt werden soll ändern, dann Zeile 30 “set FullBackupDay=Monday” entsprechend anpassen. In diesem Beispiel also auf “Thursday” setzen.

    So wie das gerade klingt, ist da etwas durcheinandern. Bevor man lange Fehler sucht, evtl. noch mal alles zurücksetzen und von vorne beginnen.

    Tipp: Möchte man an einem anderen Tag eine Vollsicherung “erzwingen” dann die Zeile 42 “REM SET Weekday=Monday” entsprechend anpassen und das Skript einmalig ausführen.

  49. Mike

    danke andy……

    ich hab es gefunden.ich sag nur CASE SENSITIVE als Stichwort.

    Die Weekday.exe macht Sunday
    Ich hatte,damit die Kollegen es besser sehen können SUNDAY geschrieben.

    Dann wird das hsh File mit Full-SUNDAY angelegt,das sna aber Sunday und das dann als Diff-Sunday….

    unter 2008r2 und 2012 Server eben ausprobiert.

    Fazit:Immer schön artig Gross- und Kleinschreibung beachten 🙂

  50. andy

    Die If-Anweisung in Zeile 55 “if %Weekday%==%FullBackupDay% goto full” ist case sensitive, müsste durch ein Einfügen von “/i” lösbar sein:

    if /i %Weekday%==%FullBackupDay% goto full

    In wie weit Drive Snapshot oder der Rest case sensitive ist, habe ich nie ausprobiert.

Schreibe einen Kommentar

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

© 2025 Andy's Blog

Theme von Anders NorénHoch ↑