Backup auf S3 Storage mit Duplicity

Konsolen-Backup mit Duplicity

Bei duplicity handelt es sich um ein Konsolen-Backup Tool. Ich setze es immer in Kombination mit duply ein, was letztlich noch einmal eine Art shell frontend für duplicity ist und einige Abläufe und Konfigurationen vereinfacht.

Storage Vorbereitung

Als Erstes solltest du dir einen Object-Storage-Bucket einrichten. Beispielsweise kannst du bei gridscale, auf unserer Object Storage Seite, einen <Access Key >erstellen, indem du auf den Button <Access Key erstellen >klickst.

Jetzt erscheint auf der Seite dein erstellter Access Key bestehend aus dem „Key“ und dem „Secret“, beides benötigen wir gleich. Natürlich klappen die nächsten Schritte auch mit jedem anderen S3-kompatiblen Object-Storage.

gridscale erlaubt dir den Bucket und ggf. Unterordner, falls erwünscht, direkt im Panel zu erstellen.

Ist das Storage eingerichtet, können wir mit der Installation fortfahren.

Installation von Duplicity / Duply

Installiert wird duply/duplicity einfach über die Standard Pakete.

Ubuntu/Debian:
$ apt-get install duply python-boto

CentOS:
$ yum install duply

Bist du bereit zu starten?

Oder hast du noch Fragen? Erstelle dir jetzt dein kostenloses Konto oder lass dich in einem persönlichen Gespräch beraten.

Konfiguration

Zunächst muss ein leeres Konfigurationsprofil angelegt werden.

$ duply create

Ich verwende immer default als Namen für das Standardprofil.

Anschließend befinden sich in /root/.duply/<NAME >zwei Dateien: conf und exclude.

Als Erstes bearbeite ich die Datei “conf ”mit folgendem Befehl:
$ nano /root/.duply/<NAME >/conf

Für die Standardkonfiguration die für uns ausreichend ist, füge folgenden Inhalt ein und Kommentiere alle anderen Zeilen aus.

Mit einer Raute (#) am Zeilenanfang gilt die Zeile als auskommentiert und ist somit deaktiviert.

GPG_KEY='disabled'
TARGET='s3://<KEY>:<SECRET>@gos3.io/<BUCKET>/<SUBFOLDER>'
SOURCE='/'
MAX_AGE=1M
MAX_FULL_BACKUPS=4
MAX_FULLS_WITH_INCRS=4
MAX_FULLBKP_AGE=1M
DUPL_PARAMS="$DUPL_PARAMS --full-if-older-than $MAX_FULLBKP_AGE "
VOLSIZE=150
DUPL_PARAMS="$DUPL_PARAMS --volsize $VOLSIZE "
TEMP_DIR=/tmp                                                        

<KEY > <SECRECT > <BUCKET > und <SUBFOLDER > müssen mit den Daten aus dem Object Storage Panel entnommen und in der Konfigurationsdatei ersetzt werden. Das sieht dann zum Beispiel so aus:


                                                            TARGET=’s3://M0HD2XCIVAYXJDX1Y42J:x4aT36oivfs2fdhE0n7mkLoxrJi5SxNvIEAe0dAT@gos3.io/backup-bucket/system-backups’                   

Die Konfiguration sorgt dafür, dass maximal 4 Backups für maximal einen Monat lang, in 150mb großen Teilarchiven gespeichert werden. Den Rest der Konfiguration kannst du so belassen.

Unter Ubuntu muss zusätzlich noch eine Konfigurationsdatei angelegt werden.

$ nano ~/.boto

Mit folgendem Inhalt:

[Credentials]
aws_access_key_id = <KEY>
aws_secret_access_key = <SECRET>                                   

Wiederum die Daten <KEY >und <SECRET >mit denen aus dem Panel ersetzen.

Als Nächstes öffnest du die Datei exclude …

$ nano ~/.duply/default/exclude

…und fügst folgenden Inhalt ein:

- /var/log
- /proc
- /sys
- /lost+found
- /tmp
- /run
- /root/.cache
- /var/lib/lxcfs

Wichtig: die Bindestriche mit übernehmen!

Das Backup kann anschließend mit folgendem Befehl getestet werden:

$ duply default bkp+post+verify_purge --force

Wenn alles funktioniert hat, fehlt nur noch ein Cronjob der dafür sorgt, dass das Backup automatisch ausgeführt wird. Dieser wird erstellt mit:

$ crontab -e

Dort fügst du folgendes ein (in eine Zeile):

20 0 * * * root duply default bkp+post+verify_purge --force --allow-source-mismatch &> /var/log/duply.log

Schlusswort

Somit ist das automatische System Backup ins Object Storage fertig konfiguriert und eingerichtet.

Solltest du dich für weitere Konfigurationsmöglichkeiten interessieren, so empfehle ich dir die Dokumentation von Duply.