Borg Backup#
auf der Suche nach einem modernen Backup-Werkzeug ist mir BorgBackup über den Weg gelaufen. Viele Werkzeuge, die sich "Backup" nennen, stammen aus der Zeit der Magnetbänder und verhalten sich entsprechend. Ich war auf der Suche nach einem Werkzeug, das die Daten effizient auf einem entfernten Backup-Server über das Netzwerk oder über das Internet speichert.
Borg und die unten genannten Alternativen können das. Borg hat den Weg in die Debian Distribution gefunden.
Features#
Daten werden dedupliziert, verschlüsselt und optional komprimiert in einem Repository abgelegt. Das Repository kann auf einem entfernten Borg-Server liegen. Die Datenübertragung und der Start des Remote-Borg-Dienstes erfolgen in diesem Fall über ssh.
Die Deduplizierung findet auf dem Client (dem zu sichernden Rechner) statt. Das gleiche gilt für die Verschlüsselung. Dazu sollte der Rechner bei größeren Datenmengen über ausreichend Hauptspeicher verfügen (in der Größenordnung mehrere GByte RAM für ein Terabyte Disk).
Installation#
Das Paket findet sich in den Backports zum Jessie-Release. Die Pakete python3-msgpack und borgbackup müssen aus den Backports installiert werden und zwar auf Client und Server, etwa so:
apt-get install python3-msgpack=0.4.6-1~bpo8+1 apt-get install borgbackup
Konfiguration und Backup#
Per Voreinstellung wird der Schlüssel für die Verschlüsselung der Datensicherungen mit im Repository auf dem Server hinterlegt. Das klingt nicht nach einer guten Idee; er wird durch eine (hoffentlich gute) Passphrase geschützt. Auf diese Art ist der Schlüssel zumindest auch dann gesichert, wenn der Admin die Doku nur kurz überflogen hat.
Die Konfiguration auf dem Client kann durch Umgebungsvariablen erfolgen. Meine ersten Ad-Hoc-Aufrufe:
export BORG_REPO='ssh://remoteuser@backupserver.example.com:22/home/borguser/repo' export BORG_PASSPHRASE='eine gute Passphrase sieht anders aus'
Das Anlegen des Remote-Repositories erfolgt mit:
borg init
Ein Backup meines lokalen /home/localuser/Bilder-Verzeichnisses mache ich mit:
cd $HOME borg create ::2017-03-15 Bilder
Dabei wird die Zeichenfolge "2017-03-15" ein Name für meinen Backup
Recherche und Restore#
Liste Backups und Inhalt eines Backup:
borg list borg list ::2017-03-15
Wiederherstellung eines kompletten Backup:
mkdir /tmp/restore cd /tmp/restore borg extract ::2017-03-15
Aufräumen#
Lasse jeweils den letzten Backup der letzten 14 Tage stehen:
borg prune -d 14
Links#
- https://github.com/borgbackup/borg
- http://borgbackup.readthedocs.io/en/stable/
- http://www.lug-bremen.de/wp-content/uploads/2016/10/borgbackup.html
- https://wiki.ubuntuusers.de/BorgBackup/
- http://hackspoiler.de/2015/07/borg-backup-effizientes-sicheres-stabiles-backup-system/
Alternativen#
- https://restic.github.io/ - ein junges Projekt, das sehr ähnliche Konzepte in der Programmiersprache Go umsetzt
- http://obnam.org/