Linux Systembackups mit duply

Mit duply lassen sich verschlüsselte Inkrementelle Backups erstellen nach dem Push Prinzip (Client erstellt lokal ein Backup und schiebt es zum Backupserver. Beim Pull-Prinzip loggt sich der Backupserver auf allen Clients ein, erstellt dort das Backup und lädt es herunter).

Zuerst muss auf der zu sichernden Maschine duply installiert werden (Debian):

aptitude -y install duply python-paramiko python-gobject-2 ncftp

Und hier das Äquivalent für CentOS/RHEL:

yum -y install duply python-paramiko pygobject2

Darauf folgend erstellen wir den PGP Key zum verschlüsseln der Backups:

(
cat <<EOF
%echo Generating Key for
Key-Type: RSA
Key-Length: 8192
Subkey-Type: ELG-E
Subkey-Length: 8192
Name-Real: Tim Meusel
Name-Comment: GPG Key for duply
Name-Email: duply@bastelfreak.org
Expire-Date: 2014-08-03
Passphrase: foo
%commit
EOF
) | gpg --gen-key --batch

Aus Ausgabe erhält man unter anderem:
gpg: Schlüssel B0F90EF1 ist als uneingeschränkt vertrauenswürdig gekennzeichnet
Mit folgendem Befehl erzeugen wir eine grundlegende duply Konfiguration(‘fullbackup’ kann durch jeden beliebigen Namen für einen Backupplan ersetzt werden):
duply fullbackup create
In der Konfigurationsdatei /root/.duply/fullbackup/conf müssen einige Variablen angepasst werden. Unter anderem das Passwort (GPG_PW) für den eben erstellen Key und seine ID (GPG_KEY) (diese steht in der obigen Ausgabe – B0F90EF1). Außerdem müssen wir angeben was wir überhaupt backupen wollen. In diesem Fall alles (SOURCE=’/’). Hinzu kommt die TARGET Variable die das Protokoll, Benutzernamen, Passwort und den FQDN des Zielservers enthält auf dem das Backup später hochgeladen werden soll. Weitere Informationen zur Konfiguration findet man auf der duply Website.

Da wir Vollbackups machen wollen die alles unterhalb von / enthalten sollten wir duply mitteilen das es Verzeichnisse wie /dev und /sys ignoriert. Jedes Verzeichnis das nicht gebackupt werden soll muss Zeile für Zeile in der /root/.duply/fullbackup/exclude stehen:
/proc
/sys
/dev
/tmp

Nun kann unsere Konfiguration getestet werden (

duply fullbackup status

). Wenn alles klappt sieht dies so aus:

:~# duply fullbackup status
Start duply v1.5.2.3, time is 2013-08-03 21:13:02.
Using profile '/root/.duply/fullbackup'.
Using installed duplicity version 0.6.08b, gpg 1.4.10 (Home: ~/.gnupg)
Test - Encryption with key B0F90EF1(OK)
Test - Decryption with key B0F90EF1 (OK)
Test - Compare Original w/ Decryption (OK)
Cleanup - Delete '/tmp/duply.31759.1375557182_*'(OK)

INFO:

Backup of used key (B0F90EF1) did not exist as file
'/root/.duply/fullbackup/gpgkey.B0F90EF1.asc' .
Created it now.

Hint: You should backup your changed profile folder now.

Wie es uns duply bereits rät sollte auf jedenfall /root/.duply/fullbackup gesichert werden. Dort liegt die Konfiguration + der importierte Key. Ohne diese Dateien kann später kein Backup wiederhergestellt werden.

Sofern der Befehl keine Fehler brachte kann nun das erste Backup erstellt werden:

duply fullbackup full

Ein inkrementelles Backup wird wie folgt erstellt:

duply fullbackup backup

Diese beiden Kommandos lassen sich wunderbar in der /etc/crontab eintagen – z.B. jeden Sonntag ein Vollbackup und an allen anderen Wochentagen ein inkrementelles.

Auf dem Backupserver muss nun noch ein passender Benutzer + Verzeichnis angelegt werden in den duply backupen kann:

useradd backupuser --home=/backups --create-home &amp;&amp; passwd backupuser

Mit dem Parameter --password kann man alternativ auch einen Passworthash übergeben.

This entry was posted in General, Linux. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.