Windows 10: Automatisches Backup bei Anschluss einer USB-Festplatte

Heute mal etwas ganz anderes – nämlich Backups. Niemand macht sie gerne, jeder braucht sie irgendwann. Aber wohin damit? Ein Heimserver ist für viele wegen der Anschaffungs- und Betriebskosten keine Option. Und kostenpflichtige Internet-Dienste nerven oft durch träge Upload-Zeiten, besonders, wenn man im ländlichen Raum wohnt.

Was also tun? Für jedes Backup die Festplatte anstecken und umständlich irgendwelche Freeware-Programme starten? Das sind kostbare Minuten Lebenszeit. Für eine so einfache Aufgabe will man sich andererseits auch kein kostenpflichtiges Programm zulegen. Muss auch gar nicht sein! Windows hat alle nötigen Tools zur Automatisierung mit an Bord.

Die Lösung, die ich hier vorstellen werde, macht Backups zum Kinderspiel: Einfach eine externe Festplatte anstecken und von allen wichtigen Ordnern werden automatisch Sicherungen hinüberkopiert. Abstöpseln – fertig. Zur Einrichtung braucht man lediglich das Open-Source-Programm FreeFileSync, eine ausreichend große externe Festplatte und Copy&Paste-Fertigkeiten.

Schritt 1: Die Festplatte vorbereiten

Keine Sorge – es werden keine Daten verloren gehen, die schon auf der Festplatte sind. Hier geht es nur darum, Ihrer Festplatte einen Laufwerksbuchstaben zuzuordnen, der so schnell nicht belegt wird. Ansonsten könnte folgendes passieren: Ihre Backup-Festplatte hat normalerweise den Laufwerksbuchstaben E:\. Sie schließen einen anderen Datenträger, etwa einen USB-Stick an, während die Festplatte einmal nicht angeschlossen ist. Jetzt bekommt der USB-Stick den Laufwerksbuchstaben E:\ zugeordnet – wenn Sie zukünftig die Festplatte anschließen, wird das Backup auf den USB-Stick ausgeführt! Das wollen wir vermeiden, also weisen wir der Festplatte einen Buchstaben zu, der so schnell nicht automatisch belegt wird – etwa Z:\. Dafür öffnen wir die Datenträgerverwaltung (Windows 10: Einfach im Startmenü „Datenträgerverwaltung“ eintippen und Enter drücken). Unsere Festplatte erscheint dort als „Datenträger x“, sobald wir sie anstecken:

Mit einem Rechtsklick auf das schraffierte Rechteck öffnet sich ein Kontextmenü, wo wir unter „Laufwerkbuchstaben und -pfade ändern“ → „Ändern“ den Laufwerkbuchstaben Z:\ zuweisen können. Das war auch schon der erste Schritt.

Achtung: Wenn Sie den Laufwerkbuchstaben ändern, werden Programme, die Dateien auf dem Laufwerk verwenden, diese nicht mehr finden können! Sie müssen dem Programm dann den neuen Pfad der Datei mitteilen.

Schritt 2: Bestimmen, was gesichert werden soll

Nachdem wir FreeFileSync heruntergeladen und installiert haben, öffnen wir das Programm. Uns begrüßt eine vollgepackte Benutzeroberfläche – zuerst einmal brauchen wir die folgenden beiden Felder:

Die beiden Textboxen unter dem "Vergleichen"-Button.

Im linken Feld können wir mit dem grünen Plus-Zeichen beliebig viele Ordner in unsere zu sichernde Auswahl aufnehmen. Über den „Auswählen“-Button neben dem Textfeld können wir jeweils den zu sichernden Ordner bestimmen. Ich zum Beispiel möchte meine Musik und meine Fotos sichern:

Jetzt stecken wir unsere externe Festplatte an und wählen sie dann im rechten Feld als Zielordner für das Backup aus, sodass das Ganze etwa so aussieht:

Nun können wir einmal auf „Vergleichen“ drücken. FreeFileSync zeigt nun eine Liste von Dateien an, die nur in den Quellordnern bzw. nur in den Zielordnern vorhanden sind. Wenn Ihr Backup-Laufwerk noch keine Dateien enthält, sollten sich z.B. nur in der linken Liste Elemente befinden.

Wir wollen alle Dateien auf das Laufwerk kopieren, die dort noch nicht oder nur als ältere Version vorhanden sind. Vom Laufwerk aus wollen wir keine Dateien in unsere Quellordner kopieren. Das teilen wir FreeFileSync über die Synchronisationseinstellungen mit (F8 drücken oder auf das grüne Zahnrad in der oberen Leiste klicken).

Die Einstellung „Aktualisieren“ entspricht genau unseren Bedürfnissen, daher klicken wir sie an. Die fünf Schaltflächen mit Symbolen bedeuten dann von links nach rechts:

  • Wenn ein Element nur links existiert, kopiere es nach rechts
  • Wenn das linke Element neuer ist, ersetze das rechte damit
  • Wenn ein Element nicht eingeordnet werden kann, unternimm nichts damit
  • Wenn das rechte Element neuer ist, unternimm nichts
  • Wenn ein Element nur rechts existiert, unternimm nichts

Das befähigt uns, unser Laufwerk weiterhin ganz normal zu benutzen, ohne zu befürchten, dass irgendeine Datei in den Quellordnern überschrieben wird.

Wir sollten außerdem sicherstellen, dass im Feld „Fehlerbehandlung“ die Option „Ignorieren“ ausgewählt ist – schließlich wollen wir vom Backup-Vorgang nichts mitbekommen. Wenn Sie sehen wollen, ob ein Backup erfolgreich verlaufen ist, können Sie das immer im Protokoll nachlesen – dazu später mehr.

Wir haben jetzt unseren Backup-Vorgang konfiguriert. Diesen können wir als Batch-Datei exportieren, sodass er durch das Öffnen der Batch-Datei automatisch gestartet wird. Dazu schließen wir die Einstellungen und wählen im oberen Menü „Datei“ → „Als Batchauftrag speichern“. Die Datei legen wir irgendwo ab, wo sie gefunden werden kann – zum Beispiel auf unserer Backup-Festplatte. Sie kann beispielsweise „autoBackup.ffs_batch“ genannt werden.

Schritt 3: Eine neue Aufgabe im Aufgabenplaner erstellen

Der Windows-Aufgabenplaner bietet die Möglichkeit, bestimmte Aufgaben wie das Starten eines Programms oder auch das Senden einer E-Mail routinemäßig auszuführen – etwa jede Woche montags oder immer, wenn der Computer gesperrt wird. Wir wollen eine Aufgabe erstellen, die jedes mal unsere Batch-Datei ausführt, wenn das Backup-Laufwerk angeschlossen wird. Dazu öffnen wir zunächst den Aufgabenplaner (Windows 10: Im Startmenü „Aufgabenplanung“ eingeben und Enter drücken).

In der oberen Leiste wählen wir unter „Aktion“ → „Aufgabe erstellen“ (nicht „Einfache Aufgabe erstellen“!). Das Fenster für Aufgabenerstellung erscheint. Es verfügt über die Reiter „Allgemein“, „Trigger“, „Aktionen“, „Bedingungen“ und „Einstellungen“. Wir geben unter „Allgemein“ zunächst einen Namen und eventuell eine Beschreibung ein. Die restlichen Einstellungen können wir unverändert lassen:

Unter „Aktionen“ fügen wir mit der Schaltfläche „Neu…“ eine neue Aktion hinzu. Als Programm/Skript wählen wir die .exe-Datei von FreeFileSync aus, welche normalerweise unter „C:\Programme\FreeFileSync\FreeFileSync.exe“ zu finden ist. Als Argument müssen wir den Pfad unserer Batch-Datei angeben. In meinem Fall ist das „Z:\autoBackup.ffs_batch“. Anführungszeichen nicht vergessen!

Mit einem Klick auf „OK“ schließen wir das Fenster. Jetzt wechseln wir zum Reiter „Bedingungen“. Unter „Energie“ können wir für Laptops festlegen, dass die Aktion auch im Akkubetrieb durchgeführt werden soll. Das ist sinnvoll, wenn man auch unterwegs mal schnell ein Backup anlegen will. Nun bestätigen wir alles mit „OK“ – die Aufgabe ist fertig und wird im Aufgabenplaner angezeigt. Allerdings hat sie jetzt noch keinen Trigger, wird also nicht ausgeführt:

Weil unser Trigger so spezifisch ist, fügen wir ihn lieber per Hand als über die Aufgabenplanung ein. Dazu exportieren wir unsere neue Aufgabe erst einmal mit einem Rechtsklick → „Exportieren“. Wir können sie vorerst auf dem Desktop speichern.

Schritt 4:Die Geräte-ID unserer Festplatte herausfinden

Damit unser Backup nur gestartet wird, wenn wir genau diese eine Festplatte anschließen, müssen wir ihre Geräte-ID herausfinden. Dazu werden wir in der Windows-Ereignisanzeige das Ereignis „Festplatte angeschlossen“ abfangen, welches die Geräte-ID enthält. Zunächst öffnen wir die Ereignisanzeige (Windows 10: Im Startmenü „Ereignisanzeige“ eintippen und Enter drücken).

Das Protokoll, das unser gewünschtes Ereignis erzeugt, kann allerdings deaktiviert sein. Wir finden es im Datenbaum auf der linken Seite unter „Anwendungs- und Dienstprotokolle“ → „Microsoft“ → „Windows“ → „DriverFrameworks-UserMode“ → „Betriebsbereit“. Mit einem Rechtsklick auf „Betriebsbereit“ öffnet sich ein Kontextmenü, in dem wir über „Protokoll aktivieren“ das Protokoll aktivieren können. Wenn wir nun „Betriebsbereit“ auswählen, erscheint im mittleren Bereich des Fensters eine Auflistung aller Ereignisse, welche dieses Protokoll registriert hat. Wir stecken nun unsere Festplatte einmal aus und wieder an, um ein Ereignis zu erzeugen, und aktualisieren die Ansicht mit F5:

Das neueste Ereignis sollte nun zu unserer Festplatte gehören. Unter dem Reiter „Details“ finden wir dann auch schon über „UserData“ → „UMDFHostDeviceRequest“ → „[instance]“ die ID unserer Festplatte:

Wir kopieren den kompletten Wert und speichern ihn irgendwo zwischen, zum Beispiel in einem txt-Dokument auf dem Desktop.

Schritt 5: Einen Trigger in unsere Aufgabe einfügen

Jetzt geht es ans Eingemachte (beziehungsweise den XML-Code) – aber keine Sorge, für Sie ist das nur Copy&Paste-Arbeit. Wir öffnen mit dem Editor unsere Aufgabe, die wir auf den Desktop exportiert haben (z.B. „autoBackup.xml“). Sie können dort einige Daten wiederfinden, die wir eingegeben haben, zum Beispiel die Beschreibung im Tag „<Description>“ oder den Aufgabennamen im Tag „<URI>“. Wir suchen nun den Tag „<Triggers />“, der sich normalerweise zwei Zeilen unter dem „<URI>“-Tag befindet. Wie Sie sehen, enthält er keine Information, sondern wird durch das „/“-Zeichen sofort wieder geschlossen. Daher ersetzen wir die Zeile „<Triggers />“ zunächst durch „<Triggers> </Triggers>“. Zwischen die beiden Tags fügen wir nun Code ein, um unseren Trigger zu erstellen. Jetzt ist Achtung geboten – für Windows 10 ab Version 1709 wird dieser Code benötigt:

<EventTrigger>
 <Enabled>true</Enabled>
 <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational"&gt;&lt;Select Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational"&gt;
 *[System[Provider[@Name='Microsoft-Windows-DriverFrameworks-UserMode'] and EventID=2006]] and *[UserData[UMDFHostAddDeviceEnd[InstanceId="HIER-KOMMT-IHRE-GERAETE-ID-HIN"]]]
 &lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
 </EventTrigger>

Für ältere Windows-10-Versionen dieser:

<EventTrigger>
 <Enabled>true</Enabled>
 <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational"&gt;&lt;Select Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational"&gt;*[UserData[UMDFHostAddDeviceEnd[@instance="HIER-KOMMT-IHRE-GERAETE-ID-HIN"]]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
 </EventTrigger>

Die eigene Windows-Version finden Sie mit einem Rechtsklick auf das Windows-Logo unten links → „System“. Im Zweifelsfall benutzen Sie den oberen Code.

Das Ganze sollte dann – je nach verwendetem Schnipsel – etwa so aussehen:

Die Datei geht nach dem „<Principals>“-Tag natürlich noch weiter, aber diesen Teil müssen wir nicht ändern. Wir ersetzen nun lediglich noch den dezenten Hinweis „HIER-KOMMT-IHRE-GERAETE-ID-HIN“ durch die tatsächliche Geräte-ID, die wir zuvor irgendwo zwischengelagert haben. Anführungszeichen nicht vergessen! Vergleichen Sie am Besten noch einmal die Platzierung des Code-Schnipsels und der Geräte-ID mit diesem Bild:

Achtung: Wenn Ihre Geräte-ID Sonderzeichen enthält, müssen Sie diese maskieren, d.h., durch die entsprechenden XML-Kürzel ersetzen! Ein „&“-Zeichen wird beispielsweise zu einem „&amp;“. Weitere Sonderzeichen und ihre Maskierungen finden Sie hier.

Jetzt speichern wir die XML-Datei noch ab. Nun ist unsere Aufgabe einsatzbereit!

Schritt 6: Die Aufgabe in den Aufgabenplaner importieren

Jetzt wechseln wir zurück in die Aufgabenplanung. Zunächst müssen wir unsere alte, unvollständige Aufgabe ohne Trigger löschen. Dazu machen wir sie auf der Liste in der Mitte des Bildschirms ausfindig und wählen nach einem Rechtsklick „Löschen“ aus. Auf der rechten Seite des Fensters wählen wir jetzt unter „Aufgabenplanungsbibliothek“ die Option „Aufgabe importieren…“ und geben unsere bearbeitete XML-Datei an. Das altbekannte Fenster zur Aufgabenerstellung erscheint – doch unter dem Reiter „Trigger“ sehen wir nun einen „Benutzerdefinierten Ereignisfilter“. Dies ist der Code, den wir gerade eingefügt haben. Wir müssen die Aufgabe nicht mehr bearbeiten, also klicken wir ohne weitere Änderungen auf „OK“. Die Aufgabe ist nun „scharf gestellt“.

Schritt 7: Testen

Geschafft! Sobald Sie nun Ihre Festplatte einstecken, sollte sich ein Fenster des Programms „FreeFileSync“ öffnen, in welchem der Backup-Vorgang angezeigt wird. Wollen Sie das Feature nicht mehr nutzen, löschen Sie einfach die erstellte Aufgabe aus dem Aufgabenplaner.

Bei mir wird sich diese ganze Arbeit erst ab dem fünfzigsten Backup auch zeitlich lohnen, bei Ihnen könnte es bereits das zwanzigste sein. In diesem Sinne – frohes Datensichern!

13 Antworten auf „Windows 10: Automatisches Backup bei Anschluss einer USB-Festplatte“

  1. Itactually a great and helpful piece of information. I am satisfied that you simply shared this helpful information with us. Please keep us up to date like this. Thank you for sharing.

  2. Vielen Dank für die Antwort.
    Der Fehler wird jetzt angezeigt im Trigger bei < direkt vor dem Semikolon. Nur hilft mir das nicht wirklich weiter!
    Schön wäre noch ein Tip, ansonsten muß ich wohl erstmal mehr über xml lernen.
    mfg

    1. Ich vermute, Sie meinen das Semikolon vor . Dieses Semikolon formt mit den vorherigen Zeichen den Ausdruck „>“ und der ist die Maskierung des „>“-Zeichens („gt“ steht für das englische „greater than“). Wenn Sie sich das Bild meiner XML-Datei ansehen, fällt Ihnen vermutlich auf, dass innerhalb des „Subscription“-Blocks mehrmals „>“ und „<“ („less than“, also „<") auftauchen. Kann es sein, dass Sie die "&"-Zeichen in diesen Ausdrücken durch "&" ersetzt haben? Aus meiner Beschreibung wird leider nicht ganz deutlich, dass das "&"-Zeichen gleichzeitig der Beginn jeder Maskierung ist und Ausdrücke wie ">" nicht modifiziert werden müssen. Sonderzeichen müssen Sie nur in der von Ihnen eingefügten Geräte-ID maskieren, im restlichen "Subscriptions"-Block ist das bereits durch Windows geschehen. Sollte das nicht Ihr Problem sein, können Sie mir die Datei gerne per E-Mail (maxchristis@gmail.com) senden, dann kann ich einen Blick darauf werfen. Viele Grüße!

    2. Hallo,
      hatte den Fehler auch, liegt am hier gezeigten Code 😉
      Es sind die Anführungszeichen die im Browser wohl falsch angezeigt werden.

      “0″ hier im Code,
      sollte aber „0“ sein, (shift+2), wenn man die alle im Code ersetzt ist auch der Fehler weg.

      1. ach herje, hier die Kommentare machen es dann nochmal anders 😉

        Aber trotzdem, schau dir die anführungszeichen an und ersetze sie durch neue mit shift+2

        Allerdings muss ich gestehen, dass ich es trotzdem auch nicht zum laufen bekommen. Ich kann zwar die Datei importieren, aber der Test läuft nicht durch – bzw. die Aufgabe startet nicht.
        Das hier ist meine USB_ID
        SWD\WPDBUSENUM\{BA44B8B5-4A0D-11E8-8205-E82A44E639E8}#0000000000100000

        Muss hier was an Sonderzeichen ersetzt werden?

      2. Hallo Sven,

        vielen Dank für die Rückmeldung! Die seltsamen Anführungszeichen werde ich sogleich austauschen…

        Deine Geräte-ID sieht gut aus, da muss meines Erachtens nichts ersetzt werden. Ich werde die Methode selber noch einmal ausprobieren – vielleicht hat ein Windows-Update ein paar Feinheiten geändert.

        1. So, wie befürchtet hat die Windows-Version 1709 Änderungen in die XML-Struktur gebracht, sodass ein anderes Code-Snippet nötig ist. Dieses habe ich jetzt in den Beitrag eingebaut. Bei mir funktioniert die Methode nun. Vielen Dank für die Rückmeldung und gutes Gelingen!

          1. Vielen Dank!
            Es geht jetzt, allerdings nicht über den Weg die Datei zu exportieren, anzupassen und anschließend wieder zu importieren. Dort bekomme ich jedes Mal die Fehlermeldung, dass der QueryList (12,3) fehlerhaft wäre. (laufe auch auf 1709)

            Aber ich hab es trotzdem so hinbekommen:
            Neue Aufgabe wie in der Anleitung beschrieben anlegen, allerdings auch in den Reiter Trigger gehen.
            Dort einen neuen Trigger anlegen.
            Dann „Aufgabe starten bei einem Ereignis“ auswählen
            Benutzerdefiniert anklicken
            „Neuer Ereignisfilter“ klicken
            Im neuen Fenster in den Reiter XML und ganz unten den Haken für „Manuell bearbeiten“ anklicken.
            Dort dann den entsprechenden Code hier von der Seite + die Anpassung der Geräte-ID, ok, fertig, funktioniert 🙂

          2. Oh je, das passiert, wenn man spätabends an Code herumbastelt. Ich hatte beim Snippet das Drumherum, also die Tags , und noch nicht eingebaut. Danke für den Hinweis, jetzt sollte es aber auch wirklich klappen! 🙂

  3. Tolle Lösung wenns funktionieren würde. Irgendwas ist bei mir falsch. wenn ich die modifizierte Aufgabe in die Aufgabenplanung importiere gibt es eine Fehlermeldung:
    Der angegebene XML-Text war nicht wohlgeformt. Details in den erweiterten Fehlerinformationen, die ich aber nicht finde. Ich verwende die aktuelle Version Win 10 1709.

    1. Hallo Uwe,
      schade, dass es bei Ihnen nicht auf Anhieb geklappt hat. Einen ähnlichen Fehler wie Sie erhalte ich, wenn ich in der eingefügten Geräte-ID Zeichen wie das „&“-Zeichen verwende, ohne sie zu maskieren. Vielleicht taucht in ihrer Geräte-ID auch ein solches Zeichen auf, welches Sie noch maskieren müssten. Kandidaten sind neben & auch %, §, +, -, … Die richtigen Maskierungen finden Sie unter https://www.drweb.de/sonderzeichen-maskieren-liste/.

      Ein Hinweis darauf, wo Sie nach dem Fehler suchen können, ist es, wenn in der Fehlermeldung eine Sequenz wie (12,246) angezeigt wird. Diese sagt Ihnen, in welcher Zeile (1. Zahl) und Spalte (2. Zahl) der XML-Datei ein Fehler aufgetreten ist.

      Ich hoffe, Ihnen bei diesem Problem weiterhelfen zu können.

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.