!!!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|https://packages.debian.org/search?keywords=borgbackup] 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|GoLang] umsetzt
* http://obnam.org/
\\
[{Tag Backup Debian Linux}]