Einleitung
Datensicherung muss nicht kompliziert oder teuer sein. Windows liefert mit Robocopy (Robust File Copy) eines der mächtigsten Backup-Tools bereits ab Werk mit. Es ist extrem schnell, stabil und lässt sich perfekt automatisieren.
In diesem Beitrag stellen wir ein fertiges Batch-Skript vor, das Ihre Daten mit einem Klick auf eine externe Festplatte oder einen USB-Stick spiegelt – inklusive Log-Datei zur Kontrolle.
Das Backup-Skript
Kopieren Sie den folgenden Code in einen Texteditor und speichern Sie ihn als Backup.bat ab. Achten Sie darauf, die Pfade in den ersten Zeilen an Ihre Laufwerksbuchstaben anzupassen.
@echo off
:: ============================================================
:: KONFIGURATION
:: ============================================================
:: Quellverzeichnis (Was soll gesichert werden?)
set "sourceDir=D:\"
:: Zielverzeichnis (Wohin soll gesichert werden?)
set "targetDir=C:\Daten"
:: Pfad zur Protokoll-Datei
set "logFile=C:\backup.log"
:: ============================================================
:: START
:: ============================================================
echo.
echo ===== Automatisches Backup auf die USB-Festplatte =====
echo.
:: Überprüfung: Existiert das Quellverzeichnis?
if not exist "%sourceDir%" (
echo FEHLER: Quellverzeichnis "%sourceDir%" nicht gefunden.>>"%logFile%"
echo FEHLER: Quellverzeichnis "%sourceDir%" nicht gefunden.
echo Bitte überprüfe die Einstellungen. Details im Log: "%logFile%"
pause
goto :end
)
:: Überprüfung: Existiert das Zielverzeichnis?
if not exist "%targetDir%" (
echo FEHLER: Zielverzeichnis "%targetDir%" nicht gefunden - Festplatte nicht angeschlossen?>>"%logFile%"
echo FEHLER: Zielverzeichnis "%targetDir%" nicht gefunden - Festplatte nicht angeschlossen?
echo Bitte überprüfe die Einstellungen. Details im Log: "%logFile%"
pause
goto :end
)
:: Logeintrag: Backup gestartet
echo ---------------------------------------------------------------- >>"%logFile%"
echo Backup gestartet am %date% um %time% >>"%logFile%"
:: ============================================================
:: ROBOCOPY BEFEHL
:: ============================================================
:: /R:3 - 3 Versuche bei gesperrten Dateien
:: /W:5 - 5 Sekunden Wartezeit zwischen Versuchen
:: /XO - Exclude Older: Nur neue/geänderte Dateien kopieren
:: /MIR - Mirror: Spiegelt die Struktur (Löscht Dateien im Ziel, die in der Quelle fehlen!)
:: /NFL - No File List: Keine Dateinamen im Log (hält es klein)
:: /NDL - No Directory List: Keine Verzeichnisnamen im Log
:: /LOG+ - Hängt Ausgabe an das Logfile an (statt zu überschreiben)
robocopy "%sourceDir%" "%targetDir%" /R:3 /W:5 /XO /MIR /NFL /NDL /LOG+:"%logFile%"
:: Logeintrag: Backup abgeschlossen
echo Backup abgeschlossen am %date% um %time% >>"%logFile%"
echo ---------------------------------------------------------------- >>"%logFile%"
:end
:: Abschlussmeldung
echo.
echo -- Sicherung erfolgreich abgeschlossen. Taste drücken zum Beenden.
pause>nul
exit
Was bedeuten die Befehle?
| Befehl | Erklärung |
|---|---|
/MIR (Mirror) | Erstellt eine exakte Spiegelung. Achtung: Dateien, die Sie im Quellordner löschen, werden beim Backup auch im Zielordner gelöscht! |
/XO (Exclude Older) | Beschleunigt das Backup massiv, da nur Dateien kopiert werden, die neuer sind als die Version im Backup. |
/R:3 /W:5 | Robustheit: Wenn eine Datei gerade in Benutzung ist, versucht das Skript es 3-mal mit 5 Sekunden Pause, bevor es die Datei überspringt. |
Einrichtung & Nutzung
- Pfade anpassen: Ändern Sie im Skript
D:\(Quelle) undC:\Daten(Ziel) entsprechend Ihrer Laufwerke (z. B.E:\Backup_Extern). - Testlauf: Führen Sie das Skript beim ersten Mal manuell aus und prüfen Sie, ob die Dateien korrekt ankommen.
- Logfile: Sollte es Probleme geben, öffnen Sie die Datei
backup.log, um Fehler einzusehen.
Tipp: Nutzen Sie die Windows Aufgabenplanung, um dieses Skript automatisch (z. B. jeden Freitag um 17:00 Uhr) ausführen zu lassen.