Ich denke jeder von uns weiß um die Wichtigkeit einer regelmäßigen Sicherung der persönlichen oder geschäftlichen Daten. Da ein Backup aber Aufwand und Zeit erfordert, wird es oftmals verdrängt oder man kommt im Stress des Alltags einfach darüber hinweg. Da wäre es doch schön, wenn man die regelmäßige Datensicherung automatisieren könnte.

Ich habe die für mich perfekte Lösung gefunden, um die mir wichtigen Inhalte von meinem Netzwerkspeicher auf einen zweiten Rechner zu sichern. Das passiert komplett automatisiert alle zwei Wochen zur Nachtzeit.

Dabei fährt mein NAS den Backup-Rechner per Wake on LAN hoch, synchronisiert alle geänderten, gelöschten oder neuen Dateien und fährt den Backup-Rechner nach getaner Arbeit wieder herunter.

Ich will euch meine Lösung in diesem Beitrag vorstellen und Schritt für Schritt zeigen, wie ihr diese auch für euch nutzen könnt. Im Mittelpunkt steht dabei das recht unbekannte Windows-Tool Robocopy. Robocopy ist seit Windows Vista fester Bestandteil von Windows. Allerdings ist es ein Kommandozeilen-Tool, bringt also keine grafische Benutzeroberfläche mit.

Windows-Tool "Robocopy"Bevor wir beginnen, noch eine Anmerkung:

Diese Anleitung soll in erster Linie eine Komplettlösung für eine automatisierte Datensicherung auf einen zweiten Rechner darstellen. Für mich ist aufgrund der Menge an Daten eine Sicherung auf eine externe Festplatte oder einen USB-Stick ausgeschlossen. Wer allerdings nur wenige Daten zu sichern hat und wem eine Sicherung auf ein externes Speichermedium genügt, kann diese Anleitung ebenfalls dafür verwenden. Dabei entfällt die Netzwerk-Freigabe der Zielordner genauso wie die Einrichtung von Wake on LAN.

Was brauchen wir:

  • zwei Rechner mit Windows Betriebssystem über LAN miteinander verbunden (Zugriff auf den jeweils anderen möglich)
  • Backup-Rechner muss Wake on LAN (WOL) unterstützen
  • Programm „wol.exe“ von Greg Wittmeyer
  • etwas Zeit und gaaaanz viel Lust

Wir haben folgende Ausgangssituation:

  • „Nassy“ ist der Hostname des (Ursprungs-)Rechners, von dem gesichert werden soll
  • „Backy“ ist der Hostname des (Ziel-)Rechners, auf den gesichert werden soll
  • Backup der Ordner „c:\wichtig“ sowie „c:\wichtiger“

Zielverzeichnisse auf „Backy“ erstellen und freigeben

Beginnen wir damit auf dem Backup-Rechner die Zielverzeichnisse für die Datensicherung anzulegen und im Netzwerk freizugeben. Wir erstellen auf Laufwerk C einen Ordner mit dem Namen „wichtig“ sowie einen zweiten Ordner mit dem Namen „wichtiger“.

Für diese beiden Ordner legen wir eine Netzwerkfreigabe an, damit wir darauf zugreifen können. Klickt dazu den Ordner mit rechts an und wählt aus dem Kontextmenü „Freigeben für“. Im Untermenü wählt ihr den Punkt „Bestimmte Personen…“

Kontextmenü Ordner freigebenHier wählt ihr nun aus der Auswahlliste „Jeder“ aus,

Ordnerfreigabe Personen auswählenklickt auf „Hinzufügen“ und ändert die Berechtigungsebene auf „Lesen/Schreiben“:

Ordnerfreigabe Berechtigungsebene festlegenAbschließend klickt ihr auf den Button „Freigabe“.

Wiederholt das für den zweiten Ordner um auch hier die Freigabe zu erstellen.

Von unserem Ursprungsrechner „Nassy“ aus prüfen wir, ob die Freigabe auch erreichbar ist und geben in der Adresszeile des Windows Explorers

\\backy\wichtig

bzw.

\\backy\wichtiger

ein. Es sollte ein leerer Ordner erscheinen. Falls nicht, ist das Netzwerk nicht korrekt eingerichtet oder bei der Freigabe ist ein Fehler passiert.

„Backy“ für Wake on LAN fit machen

Damit der Backup-Rechner mittels Wake on LAN (grob übersetzt: aufwachen per Netzwerk) geweckt werden kann, müssen wir die BIOS-Einstellungen sowie die Einstellungen der Netzwerkkarte überprüfen und gegebenenfalls anpassen,

Wir benötigen darüber hinaus noch die MAC-Adresse des Netzwerkadapters, da Wake on LAN, so wie wir es brauchen, nicht mit IP-Adresse oder Hostname funktioniert. Unter Windows wird die MAC-Adresse als „Physikalische Adresse“ bezeichnet und kann über die „Systemsteuerung“ -> „Netzwerk- und Freigabecenter“ -> „Adaptereinstellungen ändern“ -> Rechtsklick auf den Netzwerkadapter -> „Status“ -> „Details“ abgerufen werden.

MAC-Adresse des LAN-AdaptersNotiert euch die 12-stellige MAC-Adresse im Format xx-xx-xx-xx-xx-xx.

Schließt die Details wieder, so dass ihr wieder den Status der LAN-Verbindung vor euch seht. Klickt hier auf den Button „Eigenschaften“ und anschließend auf „Konfigurieren“.

Ihr seht nun die Hardwareeigenschaften des LAN-Controllers. Öffnet die Registerkarte „Energieverwaltung“ und aktiviert alle drei Haken.

Energieverwaltung des LAN-Controllers

Wechselt nun zum Register „Erweitert“. Hier findet ihr die Optionen des Netzwerkadapters, die der Treiber zur Verfügung stellt. Diese sind je nach verwendetem Modell unterschiedlich. Schaut hier nach Optionen, die mit Wake on LAN zu tun haben. Bei meiner Netzwerkkarte ist die Option „Wake-Up Capabilities“ benannt. Stellt den Wert auf „Magic Packet“.

Erweiterte Eigenschaften des LAN-ControllersDas stellt sicher, dass der Rechner nur durch spezielle Datenpakete (so genannte Magic Packets) geweckt werden kann und nicht auf jede Anfrage (z.B. Ping) aus dem Netzwerk reagiert und hochfährt.

Bei einigen Netzwerkadaptern gibt es weitere Einstellungen WOL betreffend (z.B. „Wake from Shutdown“ o.ä.). Diese muss, sofern vorhanden, ebenfalls aktiviert werden.

Speichert die Änderungen mit Klick auf „OK“ und startet den Rechner anschließend neu.

Nun müsst ihr in das BIOS des Rechners. Die dafür notwendige Taste wird beim Starten des Rechners kurz auf dem Bildschirm angezeigt, Das ist meistens „F2“, „F10“, „F12“ oder „Entf“.

Die für WOL benötigten Optionen sind von BIOS-Hersteller zu Hersteller unterschiedlich und auch unterschiedlich benannt. Haltet Ausblick nach Hauptmenüpunkten wie „Power-Management“, „ACPI“ oder „APM“, Im Untermenü müsst ihr für den LAN-Adapter das Wecken per LAN auf „enabled“ stellen. Eventuell ist die Option auch „Power On By PCIE Device“ oder „Power On By PCI Device“ benannt. Im Zweifel hilft ein Blick in das Mainboardhandbuch bzw. die Supportseite des Mainboard-Herstellers.

Speichert die Änderungen im BIOS und der Rechner ist bereit per WOL hochgefahren zu werden.

Script für die Datensicherung auf „Nassy“ anlegen

Wir werden das Script und die benötigten Programme in einen zentralen Ordner ablegen. Erstellt dazu über den Windows Explorer einen Ordner auf Laufwerk C und benennt ihn „backup“.

Ladet nun das Programm „wol.exe“ herunter und speichert dieses in das gerade angelegte Verzeichnis.

Nun werden wir ein Batch-Script erstellen, mit dem die einzelnen Schritte der Datensicherung ausgeführt werden.

Legt dazu ein neues Textdokument in dem Ordner „backup“ an (Rechtsklick -> „Neu“ -> „Textdokument“) und nennt die Datei „Backup starten“. Windows vergibt automatisch die Dateiendung „.txt“. Da diese jedoch nicht ausführbar ist, ändert die Dateiendung auf „.cmd“.

Sollte die Dateiendung nicht angezeigt werden, öffnet die „Ordneroptionen“ und wechselt zum Register „Ansicht“. Deaktiviert hier die Option „Erweiterungen bei bekannten Dateitypen ausblenden“.

Habt ihr im „Backup“-Verzeichns die Datei „backup starten.cmd“ erstellt, öffnet die Datei mit dem Editor (Rechtsklick -> „Bearbeiten“) und fügt folgendes ein:

wol.exe xx:xx:xx:xx:xx:xx
timeout /T 120
c:\windows\system32\robocopy.exe c:\wichtig \\backy\wichtig /mir
c:\windows\system32\robocopy.exe c:\wichtiger \\backy\wichtiger /mir
c:\windows\system32\shutdown.exe /s /t 10 /m \\backy

In der ersten Zeile müsst ihr die Zeichenfolge „xx:xx:xx:xx:xx:xx“ durch die notierte MAC-Adresse des LAN-Adapters ersetzen. Achtet bitte darauf, dass ihr als Trennzeichen den Doppelpunkt verwendet und nicht wie unter Windows angezeigt einen Bindestrich. Mit diesem Befehl wird der Backup-Rechner durch die Sendung eines Magic Packets geweckt und fährt hoch.

Bis der Rechner hochgefahren und Windows gestartet ist, pausieren wir das Script mittels der zweiten Zeile, da das Script sonst abbrechen würde; die Zielverzeichnisse sind ja noch nicht erreichbar. Für meinen Rechner sind 60 Sekunden ausreichend, zur Sicherheit definiert hier aber lieber einen höheren Wert, 120 Sekunden sollten in jedem Fall ausreichend sein.

Die dritte und vierte Zeile startet dann die Datensicherung der Verzeichnisse von „Nassy“ auf die freigegebenen Verzeichnisse des Rechers „Backy“. Habt ihr noch weitere Ordner, Dateien oder Laufwerke, die gesichert werden sollen, fügt einfach weitere Befehlszeilen nach diesem Muster hinzu. 

Wir geben Robocopy noch den Parameter „/mir“ mit. Damit „spiegeln“ wir das lokale Verzeichnis auf den zweiten Rechner. So werden nur die Dateien kopiert, die seit der letzten Sicherung neu hinzugekommen sind oder geändert wurden. Auf „Nassys“ gelöschte Dateien werden auf „Backy“ ebenfalls gelöscht. So ist sichergestellt, dass sowohl Ziel- als auch Ursprungsverzeichnis nach der Datensicherung die exakt selben Daten enthalten.

Robocopy ist ein sehr mächtiges Kopierwerkzeug, dass eine Vielzahl von Möglichkeiten bietet. Eine Übersicht aller möglichen Parameter gibt es unter diesem Link.

Ist der Synchronisierungsvorgang abgeschlossen, wird mittels der letzten Zeile „Backy“ nach 10 Sekunden heruntergefahren.

Wir können das Script nun schon einmal testen. Führt die Datei mit einem Doppelklick aus. „Backy“ sollte nun starten, sofern der Rechner nicht eingeschaltet ist, und nach Ablauf des Timeouts der Kopiervorgang beginnen. Ist dieser abgeschlossen sollte der Rechner automatisch herunterfahren. Klappt? Prima.

Protokollierung des Scriptes hinzufügen

Getreu dem Motto: Vertrauen ist gut, Kontrolle ist besser, können wir die Ausführung des Scriptes noch protokollieren und das Protokoll in eine Datei schreiben lassen. Um das zu erreichen, verwendet ihr folgenden Code:

if exist sicherung-old.log del sicherung-old.log
if exist sicherung.log ren sicherung.log sicherung-old.log
echo Sicherung gestartet: >> sicherung.log
echo %date:~0% - %time:~0,8% Uhr >> sicherung.log
wol.exe xx:xx:xx:xx:xx:xx
timeout /T 120
c:\windows\system32\robocopy.exe c:\wichtig \\backy\wichtig /mir /log+:sicherung.log /nfl /ndl
c:\windows\system32\robocopy.exe c:\wichtiger \\backy\wichtiger /mir /log+:sicherung.log /nfl /ndl
echo Sicherung beendet: >> sicherung.log
echo %date:~0% - %time:~0,8% Uhr >> sicherung.log
c:\windows\system32\shutdown.exe /s /t 10 /m \\backy

Dieses erweiterte Script protokolliert die Bildschirmausgabe der Sicherung im Backup-Ordner in eine Datei mit dem Namen „sicherung.log“. Zusätzlich wird geprüft, ob bereits eine Datei mit diesem Namen von der lezten Datensicherung vorhanden ist. Ist das der Fall, wird die vorhandene Log-Datei umbenannt, so dass immer die Protokolle der letzten beiden Sicherungen gespeichert bleiben.

Mit den Robocopy-Parametern „/nfl“ und „/ndl“ erreichen wir, dass keine Datei- und Ordnernamen protokolliert werden. Die Protokolldatei würde bei vielen Dateien und Ordner ansonsten unübersichtlich werden. Es wird lediglich eine Zusammenfassung des Kopiervorgangs gespeichert.

Automatisierte Sicherung über die Windows-Aufgabenplanung erstellen

Damit wir uns künftig keine Gedanken mehr um die Sicherung machen müssen, automatisieren wir den Start des Scriptes mithilfe der Windows-„Aufgabenplanung“. Diese findet ihr in der „Systemsteuerung“ -> „Verwaltung“ -> „Aufgabenplanung“.

Aus dem Menü „Aktion“ wählt ihr „Einfach Aufgabe erstellen“. Im Assistenten gebt ihr der Aufgabe einen Namen,

Name für die Aufgabe vergebenwählt den Ausführungsrythmus

Ausführungsrythmus der Aufgabeund die Zeit der Ausführung

Ausführungszeit der Aufgabe

Beachtet, dass der Rechner zum Zeitpunkt des Starts an und Windows gestartet sein muss. Wählt also einen Zeitpunkt, an dem der Rechner für gewöhnlich an ist. Zwar lässt sich der Rechner auch so konfigurieren, dass er zum Startzeitpunkt der Aufgabe von Windows hochgefahren wird, aber das soll hier nicht das Thema sein.

Als Aktion wählt ihr „Programm starten“

Aktion für die AufgabeMittels des Buttons „Durchsuchen…“ navigiert ihr zum Verzeichnis „c:\backup\“ und wählt hier das Script „backup starten.cmd“

Script für die AufgabeWichtig ist, dass ihr den Pfad „c:\backup\“ in das Feld „Starten in (optional):“ eintragt. Ansonsten wird das Script nicht ausgeführt.

Nach einem Klick auf „Weiter“ seht ihr nun ein Zusammenfassung der Aufgabe. Setzt den Haken bei „Beim Klicken auf Fertig stellen…“, so dass ihr die Aufgabe nochmal bearbeiten könnt.

Im Register „Allgemein“ ist die Option „Nur ausführen, wenn der Benutzer angemeldet ist“ aktiv. Bei einem NAS, der Remote verwaltet wird, ist die Option nicht angebracht. Hier bietet es sich an, die Option auf „Unabhängig von der Benutzeranmeldung ausführen“ auszuwählen. Habt ihr das getan, müsst ihr das Kennwort des ausführenden Benutzers eingeben.

Ihr könnt die Ausführung der Aufgabe prüfen, indem ihr die Aufgabe markiert und aus dem Menü „Aktion“ den Punkt „Ausführen“ anklickt.

Ausführen der AufgabeBeachtet, dass es keinerlei Bildschirmausgaben gibt. Den Erfolg seht ihr, wenn auf dem Backup-Rechner dieselben Inhalte in den beiden Verzeichnissen gespeichert sind, wie auf dem Ursprungsrechner.

Damit ist die automatisierte regelmäßige Datensicherung eingerichtet. Wer sich für das erweiterte Script mit Protokollierung entschieden hat, sollte in der ersten Zeit das Protokoll im Auge behalten und nach eventuellen Fehlern Ausschau halten.