Benutzer-Werkzeuge

Webseiten-Werkzeuge


duplicity

Dies ist eine alte Version des Dokuments!


Backup-Programm für Linux Kommandozeile:

  • Vollbackups
  • inkrementelle Backups
  • Automatisches löschen von Backups älter als ein bestimmtes Datum
  • Löschen von Backups mehr als x Vollbackups
  • Wiederherstellen einzelner Dateien
  • Speichern des Backups auf Remote-Systemen
  • Verschlüsselung des Backups per Passwort oder PGP-Key

Syntax: duplicity Befehl Optionen Quelle Ziel

  • Befehl: Aktion die duplicity auführen soll (full → Voll-Backup, incrementel → inkrementelles Backup usw.)
  • Optionen: Optionen
  • Quelle: Lokales Verzeichnis/Datei die gesichert werden soll
  • Ziel: Ziel für das Backup (Aufbau: Protokoll://Pfad)

Befehle:

Befehl Beschreibung
Ohne Angabe eines Befehls wird standardmäßig ein Fullbackup gemacht wenn von der Quelle bisher keines vorhanden ist.
Ist ein solches bereits vorhanden wird ein inkrementelles Backupo erstellt
remove-older-than <Zeitangabe>Löscht alle Vollbackups und die dazugehörigen inkrementellen Backups wenn das letzte inkrementelle Backup älter als die Zeitangabe ist.

Es muss die Option –force angegeben werden damit es funktioniert (sonst löscht duplicity nicht)
remove-all-but-n-full <Anzahl>Löscht alle Backups bis auf die letzten „n“ Vollbackups (und deren inkrementelle Backups).

Es muss die Option –force angegeben werden damit es funktioniert (sonst löscht duplicity nicht)

Optionen:

Option Beschreibung
–forceMuss angegeben wenn Dateien (Backup-Dateien) gelöscht werden sollen
–full-if-older-than <Zeitangabe>Zusammen mit gar keinem Befehl oder „incrementel“ erstellt es ein Vollbackup wenn das letzte Vollbackup älter als <Zeitangabe> ist, statt ein weiteres inkrementelles Backup zu erstellen
–no-encryptionStandardmäßig will duplicity Backups verschlüsseln. Mit dieser Option lässt sich das deaktivieren

Ziel:

Ziel Beschreibung
file:// Um die Backupdatei lokal irgendwo abzulegen

Beispiel: duplicity /home/test file:///media/backup/
scp://Kopieren des Backups per scp auf einen anderen Rechner.

Beispiel: duplicity /home/test scp://backupuser@backupserver/media/backup/

Hinweis: Muss das Password per Hand angegeben werden (es sind keine Schlüssel zwischen dem Quellsystem und Zielsystem ausgetauscht), muss zusätzlich „-ssh-askpass“ angeben werden, sonst fragt es nicht nach dem Passwort.
Achtung: Standardmäßig wird nicht scp verwendet, sondern sftp!
Um scp zu nutzen muss zusätzlich: –use-scp angegeben werden

Troubleshooting

Problem Lösung
Bei der Verwendung von scp kommt:
ssh: Exception: Incompatible ssh peer (no acceptable kex algorithm)
ssh: Traceback (most recent call last):
ssh:   File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 1585, in run
ssh:     self._handler_table[ptype](self, m)
ssh:   File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 1664, in _negotiate_keys
ssh:     self._parse_kex_init(m)
ssh:   File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 1779, in _parse_kex_init
ssh:     raise SSHException('Incompatible ssh peer (no acceptable kex algorithm)')
Duplicity benutzt das „SSH paramiko backend“, welches in einer Version ein Problem mit einer bestimmten Version von OpenSSH als Gegenstelle hatte.

Modul muss upgedatet werden:
pip install paramiko --upgrade


Mehr Informationen zum Update hier: http://www.randomhacks.co.uk/paramiko-sshexception-incompatible-ssh-peer-no-acceptable-kex-algorithm-ubuntu-14-04/

Alternativ:
„SSH pexpect backend“ benutzen → macht das gleiche, nur nutzt es direkt den ssh-Kommandozeilen-Client (ist ein Wrapper), während Paramiko eigens in Python geschrieben wurde (das gesamte Protokoll, es benötigt keine anderen Programme).
Um zu wechseln muss folgende Option verwendet werden:
Syntax:

--ssh-backend pexpect
sftp put of /tmp/duplicity-9e5jgK-tempdir/mktemp-1b9LZY-69 (as duplicity-full.20150221T211959Z.vol68.difftar.gpg) failed: Failure (Try 1 of 5) Will retry in 10 seconds.
BackendException: Giving up trying to upload 'duplicity-full.20150221T211959Z.vol68.difftar.gpg' after 5 attempts
Es ist nicht möglich die Backup-Datei auf das Zielsystem zu transferieren - das Problem liegt auf dem Zielsystem.

Es gibt vermutlich mehrere Gründe.

Mögliche Gründe:
  • Zieldateisystem voll
duplicity.1424602395.txt.gz · Zuletzt geändert: 2015/02/22 11:53 von root