Backups mit Duplicity und Scduply auf Dropbox

In vorherigen Artikeln habe ich die Einrichtung von Backups mit Duplicity und Scduply(Verschlüsselte Onlinebackups mit duplicity und scduply) beschrieben.

Als weitere Alternative soll hier nun die Nutzung von Dropbox gezeigt werden, welche ja ebenfalls günstigen Speicherplatz in großen Mengen anbietet. Da die Backups vor dem Upload auf dem Client verschlüsselt werden spielen auch Privatsphärenbedenken gegenüber Dropbox keine Rolle. Die Backups werden durch die Dropbox API direkt in die Dropbox hochgeladen, so dass der normale Syncclient nicht auf dem Rechner laufen muss.


Sofern man den Dropbox Sync nutzt sollte man darauf achten dass man die selektive Syncronisation nutzt und den Sysnc für den Backupordner auf allen Clients deaktiviert (im Syncclient unter: Einstellungen -> Konto -> Selektive Syncronisation). Ansonsten werden die Backups auf alle angemeldeten Computer heruntergeladen.

dropbox_selectivesync

Als erstes passen wir wieder in der Konfigurationsdate unter /etc/scduply/testbackup/conf das Ziel für unsere Datensicherung an zu

TARGET='dpbx://meindropbox@login.de/Backupordner/'

Das Passwort muss nicht angegeben werden, da sich Duplicity später über einen OAuth Token Authentifiziert. Der Token erlaubt duplicity nur den Lese- und Schreibzugriff auf den eigenen Ordner der Dropbox. Sollte also der Token entwendet werden kann damit nur ein deutlich geringerer Schaden angerichtet werden als wenn das PAsswort für den ganzen Account entwendet wird.
Als nachstes sollten in der Dropbox die entsprechenden Ordner angelegt werden, da das Backup sonst fehlschlägt. Die Backups werden in der Dropbox unter

Dateien/Apps/duplicity/MEINDROPBOX@LOGIN.DE/BACKUPORDNER/BACKUPJOB

gespeichert.

Damit die Dropbox API genutzt werden kann muss zuerst der DropBox Python SDK installiert werden Dies geschieht am einfachsten mit der Python Paketverwaltung Pip, welche zuerst selbst installiert werden muss.

# sudo install python-pip
# pip install dropbox

Damit Dropbox duplicity den Zugriff erlaubt muss zuerst der Token für Duplicity erstellt werden.

# sudo duplicity full /xyz dpbx:///test

------------------------------------------------------------------------
url: https://www.dropbox.com/1/oauth/authorize?oauth_token=2Mfdq0grahtagr
Please authorize in the browser. After you're done, press enter.

Die angegebene URL kopiert man in die Adresszeile seines Browsers. Daraufhin kommt eine Abfrage ob man duplicity den Zugriff auf die Dropbox erlauben möchte. Diesen bestätigt man mit „zulassen“

dropbox_token

Anschließend drückt man in seinem Termina Enter und erhält die Fehlermeldung dass das Verzeichnis xyz nicht exisitert. Das ist in Ordnung, da wir mit dem gerade eingegebenen Befehl nur den Zugriff auf die Dropbox freischalten wollten.

Nun kann mit einem sudo scduply testbackup backup oder sudo scduply bkpall eine richtige Datensicherung gestartet werden, welche direkt in der Dropbox gespeichert wird.

Fehlermeldungen

 

  • Wenn die Datensicherung fehlschlägt und man die Fehlermeldung „NameError: global name ‘rest’ is not defined“ erhält kann der hier beschriebene fix helfen.Dazu muss in der Datei „nano /usr/lib/python2.7/dist-packages/duplicity/backends/dpbxbackend.py“ nach der Zeile „def wrapper(self, *args):“ ein „from dropbox import rest“ eingefügt werden.import_rest

 

  • Wenn die Datensicherung fehlschlägt und man die Fehlermeldung „ErrorResponse: [404] u”Path ‘/testbackup’ not found“ erhält, dann wurde entweder der Zielordner nicht oder an der falschen Stelle erstellt. Der Ordner muss in der Dropbox zwingend unter Dateien/Apps/duplicity/dropboxlogin liegen.

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.