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? Lasse dir jetzt dein Konto erstellen oder 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.