Verschlüsselte Onlinebackups mit duplicity und scduply

Duplicity ist ein mächtiges Kommandozeilentool um vollständige oder inkrementelle Backups zu machen. Die Backups können verschlüsselt werden und lokal, oder auf fast allen Cloudspeicherdiensten abgelegt werden. Dazu unterstützt Duplicity sowohl gängige Protokolle wie SSH oder WebDAV als auch die APIs von z.B. Amazon Web Services oder Dropbox. Duplicity ist unter Ubuntu standardmäßig installiert und das Backuptool deja-dup der Ubuntu Desktopversion ist nur eine GUI für duplicity. Backups die mit Duplicity erstellt wurden können somit auch mit Deja-dup zurückgespiel werden und umgekehrt.

Da die Konfiguration von Duplicity etwas sperrig ist und endlos lange Kommandos erfordert gibt es einige Skripte, welche die Nutzung vereinfachen. Eines der bekanntesten ist Duply. Ich verwende eine Weiterentwicklung von Duply mit dem Namen SkyCover Duply bzw. scduply. Der Vorteil von Scduply ist, neben der einfachen Konfiguration auch dass es schön aufbereitete Statusmails versenden kann.

scduply_status


Projekthomepage
Code auf Github

Zuerst laden wir uns das Sckript von Github herunter und entpacken und wechseln in das entpackte Verzeichnis

# wget https://github.com/skycover/scduply/archive/master.zip
# unzip master
# cd scduply-master

Anschließend kann Scduply installiert werden indem die Datei install.sh ausgeführt wird

# sudo ./install.sh

Mit einem „scduply init“ werden die Konfigurationsdateien angelegt. Wenn das Verzeichnis /etc/scduply bereits existiert werden die Dateien dort angelegt, ansonsten in ~/.scduply. Wenn das Programm nicht von einem einzelnen User genutzt wird sondern von root um das ganze System zu sichern, dann empfiehlt sich die installation in das erstgenannte Verzeichnis.

# sudo mkdir /etc/scduply
# sudo scduply init
*** The scduply initialized in '/etc/scduply'.
The initial global config file is '/etc/scduply/conf'.

Unter /etc/scduply findet sich nun eine Datei namens conf, dies ist die globale Konfigurationsdatei. Möchte man die Statusemails nach erstellen der Backups bekommen muss am Ende dieser Datei die Emaileinstellungen angepasst werden. Der Versand der Statusmail funktioniert nicht wenn die Einstellungen in den Configfiles der einzelnen Backupjobs vorgenommen wird, sondern es muss in der globalen Konfigdatei gemacht werden. Außerdem wird nur eine Mail versand wenn scduply mit dem Kommando „scduply bkpall“ aufgerufen wurde.
Damit der Versand funktioniert muss der Rechner natürlich generell so eingerichtet sein, dass Mails verschickt werden können.

# mailing settings to send bkpall report and log
MAIL_FROM=webmaster@meinhost.de
MAIL_TO=ich@meinemailadresse.eu
MAIL_SUBJECT="MyServer backup results"
MAIL_CMD="/usr/sbin/sendmail -i -t"

Nun legen wir einen Backupjob an mit

# sudo scduply testbackup create

*** Created profile 'testbackup'.
The backup source path is '/etc/scduply/testbackup/source'.
The exclude globing list is '/etc/scduply/testbackup/exclude'.
The initial config file is '/etc/scduply/testbackup/conf'.

In diesen Dateien wird nun unser Backup konfiguriert.
in der Datei /etc/scduply/testbackup/source wird der oberste Ordner, welcher gesichert werden soll angegeben. z.B. /home/username

Möchte man nicht alle untergeordneten Ordner sichern können in der Date /etc/scduply/testbackup/exclude Ordner ausgeschlossen werden. Mit + können Ordner hinzugefügt werden, mit – können diese exkludiert werden, ** sind alle Ordner. Die Datei wird von oben nach unten abgearbeitet. Z.B:

+ /home/username/folder1
- **

sichert nur den Ordner /home/username/folder1. Alle anderen Ordner und Dateien werden ignoriert.

Möchte man die Ordner /etc/apache und /home/username sichern kann man in der Datei „source“ einfach ein / als Quelle eingeben und in „exclude“ dann

+ /etc/apache
+ /home/username
- **

Alle weiteren Einstellungen erfolgen in der „conf“ Datei. Hier sind alle Einstellungen kommentiert, so dass die Konfiguration keine Probleme machen sollte.
Möchte man sein Backup verschlüsseln, kann man dies mit einem GPG Schlüssel oder Symmetrisch mit einem Passwort machen. Um die einfachere Verschlüsselung mittels Passwort zu verwenden muss nur die Option #GPG_KEY=’_KEY_ID_‘ auskommentiert werden und für _KEY_ID_ ein möglichst langes und sicheres Passwort eingetragen werden.

#  GPG_KEY='01234567'; GPG_PW='passphrase' - public key encryption
#  GPG_PW='passphrase' - symmetric encryption using passphrase only
#GPG_KEY='_KEY_ID_'
GPG_PW='HIERSTEHTMEINSICHERESPASSWORT'
# gpg options passed from duplicity to gpg process (default='')
# e.g. "--trust-model pgp|classic|direct|always"
#   or "--compress-algo=bzip2 --bzip2-compress-level=9"

Wo das Backup letztendlich gespeichert werden soll wird unter „TARGET=“ festgelegt. Unterstützt werden neben den in der Confdatei beschriebenen Speicherorten wie local file, ftp, rsync, ssh oder webdav auch eine Reihe weiterer Dienste mit eigenen APIs wie z.B. Dropbox.

Nachdem alle Einstellungen vorgenommen wurden kann mit

# sudo scduply bkpall

das erste Backup erstellt werden. Eine vollständige Übersicht über alle von Scduply unterstützten Kommandos findet man in der entsprechenden Manpage mit

# man scduply

Die Nutzung von Duplicity und Scduply mit Dropbox als Backend ist im folgenden Artikeln beschrieben.

Backups mit Duplicity und Scduply auf Dropbox


Creative Commons Lizenzvertrag
Dieser Artikel ist lizenziert unter einer Creative Commons Namensnennung 3.0 Deutschland Lizenz.


 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.