Vor etwa drei Jahren hatte ich beschrieben, wie man mit cwRsync unter Windows seine wichtigen Dateien (*) effizient sichern kann. Mit Bedauern stellte ich nun gestern fest, dass cwRsync offenbar peu a peu in eine kommerzielle Lösung umgewandelt wird. Ärgerlich, aber verständlich. Sicherheitshalber begab ich mich auf die Suche nach Alternativen.
Für meine Zwecke benötige ich eigentlich nur zwei von rsyncs Funktionen, nämlich die Spiegelung (Verzeichnis 2 wird zu einer exakten Kopie von Verzeichnis 1) und inkrementelle Sicherungen (nur Änderungen werden übertragen, was insbesondere bei großen Datenmengen ganz nett ist). Eine der möglichen Alternativen zu cwRsync, die beides bieten, ist plattformunabhängig, quelloffen und blöderweise in Java entwickelt worden. Mit dieser Lösung fange ich direkt an.
Sie heißt Areca Backup und sieht komplexer aus als sie eigentlich ist (hübsche Bilder gibt es auf der Website). Areca (ich kürz’ das jetzt mal ab) arbeitet wie die meisten Entwicklungs-IDEs auf Arbeitsbereichsbasis, ein Sicherungsvorgang kann also selbst gespeichert und immer wieder abgerufen werden, so dass die Sicherung nur ein einziges Mal vorbereitet werden muss und einfach mitgesichert werden kann.
(In folgenden Beispielen möchte ich den Ordner „Neuer Ordner” mit Ausnahme aller Dateien, die auf *.tmp enden, auf dem Desktop auf die externe Festplatte G:\Test\ sichern. Zeitstempel müssen nicht übernommen werden. Der Ordner G:\Test\ sollte dabei bereits existieren, sonst verwirrt Areca mit wenig aussagekräftigen Fehlerpopups.)
Beim Start ist ein Standardarbeitsbereich (zum Beispiel .areca/workspace im Benutzerverzeichnis) voreingestellt, ändern lässt sich dieser im Menü „Arbeitsbereich / Arbeitsbereich öffnen …”. Da noch nicht klar ist, ob wir vielleicht später mal weitere Dinge sichern möchten, können wir Sicherungen auch gruppieren. Dazu ist zuerst eine neue Gruppe („Bearbeiten / Neue Gruppe …”) zu erzeugen, die zum Beispiel „Sicherungskram” genannt werden kann.
Dann geht’s an die Sicherungen selbst. Per „Bearbeiten / Neues Ziel …” (etwas missverständlich übersetzt, besser wäre vielleicht „Neue Sicherung”) kann eine solche initialisiert werden. Dabei ist es unten im Dialog möglich, die Art der Sicherung auszuwählen. „Delta” ist die inkrementelle Sicherung, die nur geänderte Teile speichert – allerdings in ein jeweils neues Archiv mit einstellbarem Namen (Standard ist das aktuelle Datum im Format Jahr-Monat-Tag). Es ist, anders als bei rsync, also nicht möglich, einen einzigen Backupordner ohne tagbasierte Unterordner (man möchte vielleicht immer nur die aktuellste Version aufbewahren) inkrementell zu pflegen, nur eine nicht inkrementelle Variante („Image”) ist verfügbar. Das ist etwas schade.
Unter „Quellen” kann nun ausgewählt werden, was gesichert werden soll. Dort kann der „neue Ordner”, den wir sichern wollen, einfach hinzugefügt werden – ein Herumspielen mit Optionen ist nicht notwendig. Interessant ist auch der „Filter”-Dialog: Dort können bestimmte Unterordner, Dateien und Dateitypen – etwa unser *.tmp – von der Sicherung in diesen Ordner ausgenommen werden. Areca unterstützt auch Verschlüsselung und Kompression der Datensicherungen. Klickt einfach mal in diesem Dialog herum.
Wenn alles fertig ist, erscheint die Sicherung im „Baum” im Areca-Fenster:
Per Rechtsklick kann die Sicherung nun simuliert werden. Wenn alles zur eigenen Zufriedenheit geklappt hat, steht der eigentlichen Sicherung (ebendort) nichts mehr im Weg.
Ach so, Areca bringt auch eine Kommandozeilenversion mit, die aber etwas umständlich zu bedienen ist. Ich persönlich halte robocopy unter Windows (und rsync unter Linux und BSD) für besser bedienbar, zu robocopy komme ich weiter unten noch.
Die anderen beiden Programme nämlich, die mir positiv aufgefallen sind, sind zwar nicht quelloffen, für Windowsnutzer aber schon deswegen interessant, weil sie mittlerweile fester Bestandteil des Systems sind:
1. Windows Backup
Das gute, alte Windows-Backup, damals noch trist und eher funktionsschwach, hat sich inzwischen zu einem vollwertigen Ersatz für Areca gemausert, beherrscht auch inkrementelle Sicherungen und eine vollständige Integration in den Windows-Aufgabenplaner, so dass man sich nicht mehr selbst darum kümmern müss. Blöd: Die Einrichtung ist etwas umständlich. Wer aber auf der Suche nach einem guten Sicherungssystem unter Windows ist, der sollte zumindest einmal überprüfen, ob Windows’ eigenes Backupsystem die Anforderungen erfüllt; vielleicht erspart das etwas Aufwand.
2. robocopy
robocopy, ein dämliches Wortspiel mit „Robocop” sowie einst Teil des „Resource Kits” (also einer Sammlung von Administrationswerkzeugen für Windows), seit Windows Vista standardmäßig dabei, ist ein Kommandozeilenwerkzeug, das dem einst empfohlenen xcopy32 einiges voraus hat. Um es zu verwenden, benötigen wir zunächst mal eine Kommandozeile (etwa cmd oder PyCmd). Dort lässt sich ein Überblick über die vielfältigen Fähigkeiten von robocopy mittels robocopy /? erhalten:
Für unsere Zwecke – die einseitige inkrementelle Spiegelung eines Ordners in einen anderen – benötigen wir folglich drei Parameter:
- /MIR: Spiegelt die Verzeichnisstruktur, entfernt im Original gelöschte Dateien im Zielordner.
- /M: Kopiert nur Dateien mit gesetztem Archivbit, setzt dieses Bit nach dem Kopieren zurück.
(Anstelle der Option /M kann auch /XO verwendet werden, das Dateien, die älter als die letzte Sicherung sind, überspringt. Dies ist aber zeitstempelabhängig – den dürfen wir hier also nicht mitkopieren. robocopy tut dies standardmäßig nicht.) - /XF *.tmp: Überspringt alle Dateien/Unterordner, die auf *.tmp passen.
Der vollständige Befehl, um unsere gewünschte Sicherung anzulegen, lautet also: robocopy „C:\Users\hp\Desktop\Neuer Ordner” G:\Test\ /MIR /M /XF *.tmp /L. Der Parameter /L sorgt dafür, dass der Vorgang zunächst nur simuliert wird:
Wenn alles geklappt hat und robocopy keine Fehler ausgibt, kann /L weggelassen werden. Um exakt den gleichen Befehl später wiederholen zu können, kann übrigens auch robocopy Aufträge speichern: Der Parameter /SAVE:Sicherung speichert den Beispielfall, später genügt die Eingabe von robocopy /JOB:Sicherung zum erneuten Abruf.
Besonders nützlich wird robocopy, wenn man es in einer Batchdatei, also in Verbindung mit anderen Befehlen oder als Sammlung von robocopy-Abläufen, benutzt. Das Thema Batchprogrammierung würde hier jedoch den Rahmen sprengen, ich verweise daher hierfür auf Wikibooks.
Gibt es Ergänzungen, vielleicht gar Alernativen zu cwRsync, die weiterhin unkommerziell weiterentwickelt werden? In den Kommentaren sind sie gern gesehen!
*: zum Beispiel Pornos.
Ich nutze http://sourceforge.net/projects/freefilesync/ (wenn ich nix überlesen habe hat das alle von Dir beschriebenen Funktionen)
Hab’ ich mir angesehen, ist ziemlich hässlich – und die Konfigurationsmöglichkeiten sind eher beschränkt.
Oder habe ich was übersehen?
Wenn die Konfigurationsmöglichkeiten, die Du oben beschreibst beschränkt sind, dann weiss ich’s auch nicht, was willste denn? Runde Ecken und Kuchen backen?
Wär’ cool.
Wie gesagt, hatte es mir nur angesehen.
Aber tatsächlich vergessen oben zu erwähnen. Danke für die Erinnerung jedenfalls.
Neben Robocopy nutze ich auch auf einigen Rechnern HardlinkBackup. Hat mich bisher, unabhängig von der Metro-Optik, ebenfalls überzeugt.
Die Optik ist ja mal geil! (Kein Witz.) – Aber die kostenlose Version ist ein bisschen sehr eingeschränkt, gemessen an den Alternativen. (Mehrere Sicherungen gehen offenbar nicht.) Aber es scheint tatsächlich alles zu können, was ich brauche, danke.
Das scheint wie Areca zu funktionieren, also nicht „alles in einem Ordner”, sondern 1 Ordner pro Tag, richtig?
Das Programm kann mehrere Sicherungen anlegen. Es legt einfach einzelne Ordner mit Datum/Uhrzeit an.
Ja, aber mehrere voneinander unabhängige Sicherungen, sagt die Vergleichstabelle, gehen nur in der Bezahlversion.
Hm, ich weiß jetzt nicht wirlich was du mit unabhängigen Sicherungen genau meinst. Es ist auf jeden Fall möglich mehrere Projekte mit jeweils eigenen zu sichernden Verzeichnissen anzulegen. Auch in der kostenlosen Version.
Ah, dann ist die Tabelle missverständlich. Danke.
Gerade das /mir sollte man weglassen, wenn man von BACKUP redet!
robocopy „C:\Users\hp\Desktop\Neuer Ordner” G:\Test\ /MIR /M /XF *.tmp /L.
Ausversehen gelöscht, ausgeführt und weg ist die Datei.
Dieser Befehl sollte man NICHT bei einfach Sicherungen verwenden. (Also nur ein Sicherungsmedium)
Wenn jedoch Großvater-Vater-Sohn auf Monatsbasis verfolgt wird, kann man das so stehen lassen.
Alternativ:
rem: wechsel in Backuproot
cd G:\Backup\
robocopy „C:\Users\hp\Desktop\Neuer Ordner” G:\%Computername%-%Date%\ /MIR /M /XF *.tmp /L.
Wer „aus Versehen löscht”, hat ganz andere Sorgen, glaube. Ich habe halt lieber gern ein „sauberes” Backup.
ja super. Java … lol *FAIL*
gibt es noch programme, die sich intuitiv verwenden lassen, ohne dass man hirnsausen bekommt? nur noch unfähige drogensüchtige java-pfuscher ??? armselig so was.