AA_snapshot_sxc_tangarine1_1106414.jpg

© tangarine1, sxc.hu

Schnappschuss

Backups auf der Konsole mit Duplicity

25.02.2010
Wichtige Dokumente gehören ins Backup. Das Konsolen-Tool Duplicity verschlüsselt für Sie Daten und Transfer ausschließlich mit Bordmitteln.

Duplicity hilft beim Aufbau von Backup-Archiven via Konsole. Im Gegensatz zum kommerziellen Pendant aus Kanada, Tarsnap (siehe Artikel in dieser Ausgabe), setzen die Entwickler von Duplicity ganz auf freie Formate und Standards wie Tar, GnuPG und Rsync (Rdiff) und verbinden diese über ein Python-Programm.

Das Projekt setzt einiges an Konsolenarbeit und Wissen voraus. Eine entsprechende Hilfe sucht der unerfahrene Anwender auf der Projektseite [1] aber vergeblich. Die Sourcen der Software selbst haben die Entwickler zwar vorbildlich dokumentiert [2], mehr als ein paar Links zu den englischsprachigen Manpages bieten sie darüber hinaus aber nicht. Und das ohne große Not, denn die wenigen Handgriffe für ein funktionierendes Backup sind schnell erklärt.

Prinzipiell erstellt Duplicity vollständige Sicherungen der jeweils angegebenen Festplattenbereiche. Anschließende Folgebackups erfolgen inkrementell, speichern also nur noch geänderte und neu hinzu gekommene Daten. Diese Delta-Dateien erstellt das Tool Rdiff. Die so erstellten Pakete versenden Sie über SSH, WebDAV, FTP oder Amazon S3.

Die empfangende Gegenstelle darf dabei zum Beispiel ein weiterer Rechner im heimischen Netzwerk sein, alternativ nutzen Sie günstigen Onlinespeicher. Auf dem Server liegen dann GnuPG-verschlüsselte Pakete, mit denen Fremde nichts anzufangen wissen. Weisen diese dennoch Änderungen auf, zeigt die Software dies beim Zurückspielen eines Backups an.

Verschlüsseln

Erstellen Sie zunächst ein neues Schlüsselpaar. Zumindest diesen Teil erledigen Sie dank zahlreicher, einfach zu bedienender GPG-Werkzeuge ohne Schweißperlen in einem grafischen Frontend. Ubuntu liefert beispielsweise das vorinstallierte Tool Seahorse mit. Sie finden das Programm dort unter Anwendungen | Zubehör | Passwörter und Verschlüsselung.

Die Tastenkombination [Strg]+[N] öffnet ein Fenster, in dem Sie den Schlüsseltyp festlegen (Abbildung 1). Für ein Backup innerhalb Ihres Netzwerks bietet sich das SSH-Protokoll an. Wählen Sie daher den Punkt SSH-Schlüssel und klicken Sie auf Weiter. Tragen Sie zur Identifikation für den Schlüssel eine Mailadresse ein und geben Sie einen sprechenden Namen an, wie etwa Backup-Schlüssel.

Abbildung 1: GPG-Schlüsselpaare generieren Sie bequem über ein grafisches Tool Ihrer Distribution, wie zum Beispiel Seahorse bei Ubuntu.

Die sinnvollen Voreinstellungen nutzend, klicken Sie auf Erstellen und Einrichten. Legen Sie nun ein Passwort für den Schlüssel fest. Der folgende Dialog erwartet den Hostnamen und einen Benutzer des entfernten Rechners. Nach der Passworteingabe für diesen Benutzer sendet Seahorse den öffentlichen Teil des Schlüssel an die Gegenstelle.

Lokales Backup

Duplicity liegt derzeit in der stabilen Version 0.6.06 vor. Benutzer von RPM-basierten Distributionen wählen das entsprechende Paket von der Projektseite. Nutzen Sie ein Debian-basiertes System, verwenden Sie besser nicht die veraltete und fehlerhafte Version 0.5.18 aus dem Repository, sondern greifen wie alle, bei denen das RPM-Paket versagt, zu den Quellen. Was Sie für ein erfolgreiches Übersetzen benötigen, verrät der Kasten "Duplicity kompilieren".

Duplicity kompilieren

Die Voraussetzung für ein erfolgreiches Übersetzen und Installieren bilden die Pakete librsync (librsync1 bei Ubuntu), NCFTP sowie eine Python-Installation inklusive der Developer-Pakete. Zusätzlich zur Python-Standardbibliothek benötigen Sie die Pakete python-boto und python-gnupginterface. GnuPG liegt auf den meisten Distributionen bereits vorinstalliert auf der Platte.

Das heruntergeladene Paket duplicity-0.6.06.tar.gz entpacken Sie mittels tar xfvz duplicity-0.6.06.tar.gz. Wechseln Sie in den neu entstandenen Ordner und installieren Sie das Paket mit dem Befehl python setup.py install. Wer lieber aus den Quellen selbst installieren will, sucht noch nach dem Developer-Paket von librsync und übersetzt den Code mit python setup.py build.

Prinzipiell folgt ein Aufruf von Duplicity der Syntax-Struktur, wie Sie sie von SCP kennen:

$ duplicity Pfad scp://Username@Hostname//Zielverzeichnis

Nehmen wir also an, ein User namens klaus will seinen Dokumenten-Ordner vom Laptop auf den Server im Keller sichern. Dazu nutzt er folgenden Befehl:

$ duplicity Dokumente/ scp://klaus@keller.local//home/klaus/backup/laptop

Beachten Sie vor allem die doppelten Schrägstriche nach dem Domainnamen local. Duplicity fragt Sie nun nach dem vorhin vergebenen GnuPG-Passwort und meldet dann den Fortgang in der Konsole (Abbildung 2). Das erste Backup dauert je nach Anzahl der zu sichernden Dateien unter Umständen etwas länger. Bei nachfolgenden Läufen zeigt das Werkzeug nur noch die Anzahl der neuen oder geänderten Dateien an und sichert diese. Wünschen Sie zwischendurch eine Komplettsicherung, fügen Sie zwischen duplicity und dem Namen des zu sichernden Verzeichnisses die Option full ein, wie in Abbildung 2 zu sehen.

Abbildung 2: Duplicity antwortet mit der Ausgabe einer Statistik auf den Backup-Wunsch via SSH.

Um Bereiche auf der Festplatte explizit vom Backup auszuklammern, nutzen Sie die Option exclude. Mit --exclude Dokumente/Vertraulich/ verhindert Klaus aus dem oben genannten Beispiel, dass interne Dokumente auf die Backup-Platte wandern. Wollen Sie ein Backup wieder zurückspielen, vertauschen Sie die letzten beiden Angaben:

$ duplicity scp://Username@Hostname///Backup-VerzeichnisRestore-Pfad

Die äußerst umfangreiche, aber lediglich englischsprachige Manpage mit vielen Beispielen lesen Sie entweder lokal auf Ihrem Rechner mit man duplicity oder online unter [3].

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare

Infos zur Publikation

title_2014_08

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 0 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...