Linux Backup mit duplicity und Backblaze B2

Linux Backup mit duplicity und Backblaze B2

Bei Mac und Windows werben eine Vielzahl guter Backup-Tools um die Gunst der Kunden. Im Linux Umfeld gibt es kaum fertige Lösungen. Nahe dran an einer out-of-the-box Datensicherungslösung für Linux ist duplicity in Kombination mit dem Online Speicher Backblaze B2. Mit diesem Zweiergespann lässt sich in wenigen Minuten auf jedem Linux Desktop und Linux Server ein automatischer Backup-Prozess aufsetzen. Günstig ist Backblaze darüber hinaus auch noch, so dass es eigentlich keine Gründe mehr gegen die Umsetzung der 3-2-1 Regel (3 Backups, 2 Zielmedien, 1 außer Haus) gibt. Wie das genau funktioniert, beschreiben wir in diesem Artikel.

Gründe für Backblaze B2 und duplicity

In der Vergangenheit haben wir bereits mit einer Vielzahl von Cloud Anbietern experimentiert. Angefangen bei Amazon S3, Amazon Glacier über Strato HiDrive bis hin zu Hetzner Storage Boxen haben wir schon einiges gesehen – viel Licht und auch viel Schatten. Bei Amazon z.B. schrecken die vielen Funktionen ab. Auch kaum ein Kunde, bei dem die Amazon Rechnung am Ende trotz solider Planung nicht höher ausfiel als ursprünglich geplant.

Für Backblaze spricht zunächst einmal die schlichte und übersichtliche Weboberfläche. Mit Backblaze kommt man schnell und einfach ans Ziel. Außerdem ist das Preismodell verständlich und die Konditionen günstig. Die Speicherung eines Terabytes in einem Amazon S3 Bucket in Frankfurt kostet 45$ pro Monat. Bei Backblaze B2 kostet es nur 5$ pro Monat.

duplicity ist eine weit verbreitete Backuplösung, die man in den Paketquellen quasi jeder Linux Distribution findet. duplicity ist mit Sicherheit nicht die schnellste Software, gilt dafür aber als absolut zuverlässig. Es punktet mit seinen stabil laufenden inkrementellen Backups, der nativen Unterstützung zahlreicher Storage Backends inkl. Backblaze B2 und einer optionalen Verschlüsselung per Gnu Privacy Guard (GPG). (GPG ist eher unter der Abkürzung PGP für Pretty Good Privacy bekannt. Auch wenn nicht ganz korrekt, werden wir im folgenden Text PGP und GPG der Einfachheit halber synonym verwenden.) Im Artikel duplicity/duply: Datensicherung auf die Verlass ist haben wir die Arbeitsweise und die Vorteile von duplicity ausführlich erläutert.

Installation

Um duplicity mit Backblaze B2 zu verwenden, benötigt man mindestens die Version 0.7.12. In den meisten aktuellen Linux Distributionen ist bereits eine neuere Version enthalten. Bei vielen etwas älteren Distributionen wie z.B. Ubuntu 16.04 ist die in den Paketquellen enthaltene Version jedoch veraltet. Man sollte sich daher mit den folgenden Befehlen direkt die neueste Version von den Entwicklern installieren:

$ sudo add-apt-repository ppa:duplicity-team/ppa
$ sudo apt-get update
$ sudo apt-get install duplicity

$ duplicity --version 
duplicity 0.7.13.1

Registrierung eines Backblaze Accounts mit B2 Cloud Speicher

Bevor das erste Backup anlegt werden kann, muß man sich bei Backblaze einen Account für den B2 Cloud Speicher besorgen. Dieser lässt sich direkt auf der Webseite von Backblaze registrieren. Als kleines Startgeschenk erhält man die ersten 10 GB Speicher kostenlos und kann damit gefahrlos das Backupverfahren testen. Wie diese Registrierung abläuft, haben wir im Artikel Backblaze, der einfache und günstige Backupspeicher beschrieben.

privaten Backblaze Bucket anlegen

Sobald man seinen Account registriert und mit einer Handynummer verifiziert hat, kann man sich seinen ersten privaten Bucket im eigenen Account anlegen. Anschließend erzeugt man sich einen Application Key und notiert diesen zusammen mit der eigenen Account ID. Damit hat man alles, was man benötigt, um das erste Backup einzurichten.

Erster Backup-Lauf des Home-Verzeichnisses

Obwohl duplicity nicht zwangsläufig für seine Einfachheit bekannt ist, ist der Einstieg in diesem Fall ziemlich einfach. Um beispielsweise ein Backup des eigenen Home-Verzeichnisses anzufertigen, genügt es, den folgenden Befehl im Terminal einzugeben. Account-ID, Application-Key und Bucket müssen natürlich entsprechend angepasst werden.

$ duplicity ~ b2://[account id]:[application key]@[B2 bucket name]

duplicity Backups werden im Standard mit PGP und einem Passwort verschlüsselt, weshalb man dieses jedes Mal eingeben muss. Das erste Backup dauert je nach Datenmenge eine ganze Weile, wobei am Ende duplicity eine Statistik anzeigt, wieviele Daten gespeichert wurden und wie lange der Vorgang gedauert hat. Alle folgenden Backups sind dann inkrementelle Backups und laufen entsprechend schneller ab.

--------------[ Sicherungsstatistiken ]--------------
StartTime 1555023727.21 (Fri Apr 12 01:02:07 2019)
EndTime 1555023727.22 (Fri Apr 12 01:02:07 2019)
ElapsedTime 0.01 (0.01 seconds)
SourceFiles 2
SourceFileSize 43498 (42.5 KB)
NewFiles 2
NewFileSize 43498 (42.5 KB)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 2
RawDeltaSize 39402 (38.5 KB)
TotalDestinationSizeChange 36838 (36.0 KB)
Errors 0
-----------------------------------------------------

Wiederherstellung der Daten

Ein Backup ist nur so gut, wie sein Restore. Deshalb sollten man genau wissen, wie man im Zweifel seine Daten wieder aus dem Backup zurückholen kann. Um ein Verzeichnis aus dem Backup mit duplicity wiederherzustellen, genügt der folgende Befehl:

$ duplicity restore --file-to-restore [Verzeichnis oder Datei aus dem Backup] b2://[account id]:[application key]@[B2 bucket name] [Wiederherstellungspfad]

Der Platzhalter [Verzeichnis oder Datei aus dem Backup] steht für den Name des wiederherzustellenden Verzeichnisses bzw. der wiederherzustellenden Datei aus dem gesicherten Verzeichnisbaum. So kann duplicity einzelne Dateien, einzelne Ordner oder auch das gesamte Backup wieder aus dem Backup zurückholen. Durch ein paar zusätzliche Parameter lassen sich sogar Daten aus älteren Backupläufen wieder herstellen. An Stelle von [Wiederherstellungspfad] gibt man einen Ordner an, in dem die aus dem Backup zurückgeholten Dateien bzw. Ordner gespeichert werden sollen. Nach Eingabe des Verschlüsselungspassworts startet duplicity mit dem Download der Daten aus dem Backup.

Einfache Lösung, vielfältige Möglichkeiten

Dies ist nur ein Teil der Möglichkeiten, die man mit duplicity hat. So könnte man darüber nachdenken, das Backup mit Hilfe eines Cronjobs täglich laufen zu lassen, den GPG-Schlüssel schon in der Konfigurationsdatei zu hinterlegen oder Daten nach z.B. 90 Tagen automatisch wieder löschen zu lassen. Eine sinnvolle Ergänzung zu duplicity ist die Software duply, welche die Kommandozeilenbefehle nochmals vereinfacht. Weil wir von all diesen Funktionen begeistert sind, setzen wir auf unseren Servern Homie und Fellow auch auf duplicity und duply als Backupsoftware ein. Gerne unterstützen wir auch bei individuellen Konfigurationen von duplicity / duply.

geschrieben von

Christoph Dyllick-Brenzinger

Christoph ist Gründer und Chefentwickler von datamate. Er ist ein absoluter Linux-Fan und hat schon früh seine Leidenschaft für Technik und Programmierung entdeckt. Seine langjährige Erfahrung als Unternehmensberater spürt man regelmäßig, wenn er nach optimalen Lösungen für die Kunden sucht. Wenn er nicht gerade den Tennisplatz unsicher macht oder bei Overwatch sein Liga-Ranking verbessert, verbringt Christoph seine Freizeit mit seiner Frau und seinen drei Kindern.