Verschlüsselte Backups mit duply und duplicity
Wer schon auf der Suche nach einer Lösung für verschlüsselte Datenbackups unter Unix und Linux war, wird bestimmt schon über duplicity gestolpert sein. Duplicity erlaubt es verschlüsselte inkrementelle Backups mit Hilfe unterschiedlicher Backends (ftp, ssh/scp, rsync etc.) remote oder lokal zu sichern. Dabei wird mit Hilfe der librsync ein effizientes Handling der inkrementellen Backups garantiert und die Verschlüsselung der Daten und Schutz vor fremden Zugriff erfolgt mit Hilfe von GnuPG.
Mit duply gibt es neuerdings ein Shell-Frontend, welches die Nutzung von duplicity von der Kommandozeile aus deutlich vereinfacht.
Unter FreeBSD lassen sich die beiden Tools am einfachsten über den Port sysutils/duply installieren, unter Linux gibt es entsprechende Pakete für Debian und Ubuntu.
cd /usr/ports/sysutils/duply && make install clean
Dokumentation für duply:
duply usage
Erstellen eines neuen Backupprofils mit dem Namen demo:
duply demo create
Bearbeiten der Konfiguration unter /home/jdoe/.duply/demo/conf und folgende minimale Anpassungen zur Erstellung eines verschlüsselten Backups mit symmetrischer Verschlüsselung:
#GPG_KEY=’not-used‘
GPG_PW=’yoursecret‘TARGET=’ssh://your.backup.host.exmple.com/Backup/‘
SOURCE=’/home/jdoe/data‘
VERBOSITY=0
Ein entsprechender Eintrag in .ssh/authorized_keys ist für die Durchführung des Backups ohne Passwortaufforderung natürlich erforderlich.
Durchführung des Backups:
duply demo backup
Wer VERBOSITY in der Konfiguration nicht auf 0 gesetzt hat, kann die Meldung Failed to authenticate ignorieren. Sie stammt von duplicity und tritt bei der Verwendung von ssh auf, deutet aber auf keinen problematischen Fehler hin.
Der Parameter backup führt gemäß der Konfiguration bei Bedarf automatisch eine volle bzw. inkrementelle Sicherung durch.
Detaillierte Auflistung des Backup-Inhalts am Remote-Server:
duply demo list
Erzwingen eines Full-Backups:
duply demo full
Auflisten der am Remote-Server liegenden Backup-Sets:
duply demo status
Auflisten der seit der letzten Sicherung geänderten Dateien:
duply demo verify
Rücksichern einer Datei aus dem Backup ins aktuelle Verzeichnis;
duply demo fetch dir1/example.doc .
Komplette Rücksicherung ins Verzeichnis dir1:
duply demo restore dir1
Aufruf von duply über cron
duply demo backup_verify_purge