BorgBackup
Artikel wird überarbeitet
Dieser Artikel wird momentan überarbeitet.
Geplante Fertigstellung: 1.11.2016
Bearbeiter: Thomas_Do
Solltest du dir nicht sicher sein, ob an dieser Anleitung noch gearbeitet wird, kontrolliere das Datum der letzten Änderung und entscheide, wie du weiter vorgehst.
Achtung: Insbesondere heißt das, dass dieser Artikel noch nicht fertig ist und dass wichtige Teile fehlen oder sogar falsch sein können. Bitte diesen Artikel nicht als Anleitung für Problemlösungen benutzen!
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
BorgBackup 🇬🇧 (Borg) ist eine Software die eine sehr platzsparende und schnelle inkrementelle Archivierung ermöglicht. Alle Archive werden dabei an einem gemeinsamen Speicherort (Repository) abgelegt. Dieser kann sich sowohl auf dem lokalen System, als auch auf einem entfernten Rechner oder Laufwerk befinden. Borg hat weder eine grafische Oberfläche noch eine Konfigurationsdatei und wird allein über die Kommandozeile gesteuert. Mit Hilfe von Skripten kann das Backup aber sehr einfach automatisiert werden. Borg ist eine Weiterentwicklung (Fork) des Programms Attic.
Besondere Eigenschaften:
Authentifizierte Verschlüsselung möglich (AES)
Auswahl zwischen mehreren Kompressionsmethoden (lz4, zlib, lzma)
Unterstützung des ssh-Protokolls für Speicherung auf entfernten Rechnern
Unabhängig vom Dateisystem des Speicherorts
Technik der Deduplikation:
Borg unterscheidet sich von anderen Backupprogrammen vor allem durch die Technik der eingesetzten Deduplikation. Hierbei werden alle Dateien in kleine Stücke (Chunks) zerlegt und mit den bereits vorhanden Chunks im Repository verglichen. Daher werden immer nur solche Daten gespeichert, die bisher noch nicht im Repository vorhanden sind. Die Deduplizierung ist bei Borg nicht auf die Dateiebene beschränkt, wie das z.B. bei Back In Time der Fall ist. Ein entscheidender Vorteil entsteht dadurch bei kleinen Änderungen an sehr großen Dateien (z.B. Abbilder von Virtuellen Machinen oder Laufwerken). Diese müssen nicht insgesamt neu gespeichert werden, sondern es werden immer nur die veränderten Chunks neu abgelegt. Auch bei Verschiebung von Dateien im Dateisystem oder bei mehrfachem Vorhandensein sehr ähnlicher Daten (z.B. mehrerer Virtueller Maschinen) wirkt sich diese Form der Deduplikation positiv auf den benötigten Speicherplatz aus.
Weitere Programme und Grundsätzliches ist im Artikel Datensicherung zu finden.
Installation¶
Voraussetzungen¶
Auf den zu sichernden Systemen wird python3 und optional ssh benötigt.
Paketquellen¶
Die Installation erfolgt über die Pakete [1]:
borgbackup borgbackup-doc python-llfuse-doc (universe [2])
Befehl zum Installieren der Pakete:
sudo apt-get install borgbackup borgbackup-doc python-llfuse-doc
Oder mit apturl installieren, Link: borgbackup-doc python-llfuse-doc
Benutzung¶
Hinweis:
Borg muss nicht unbedingt mit Administratorrechten ausgeführt werden. Hat der Nutzer jedoch kein Schreibrecht auf den Speicherort oder kein Leserecht für alle zu sichernden Dateien, muss den folgenden Befehlen ggf. ein sudo vorangestellt werden.
Initialisierung¶
Bevor Backups in Archiven gespeichert werden können, muss ein Repository angelegt werden:
borg init [OPTIONEN] REPO_VERZEICHNISPFAD
REPO_VERZEICHNISPFAD gibt dabei den Pfad zu einem leeren Verzeichnis an, in dem das Repository angelegt werden soll. Zu möglichen Optionen siehe nachfolgende Tabelle:
Wichtige Optionen für den init-Befehl | |
-h oder --help | Ausgabe eines Hilfetextes |
-v oder --verbose | Ausführlichere Ausgabe von Meldungen |
-e oder --encryption {none,keyfile,repokey} | Wählt die Art der Verschlüsselung {keine, lokale Schlüsseldatei, Schlüsseldatei im Repository} |
Wird eine Verschlüsselung gewählt, wird die dazugehörige Schlüsseldatei standardmäßig im Repository abgelegt (repokey). Diese Datei wird dann über ein Passwort gesichert. Befindet sich das Repository auf einem entfernten Rechner und will man die Sicherheit erhöhen, kann man die Schlüsseldatei auch im Verzeichnis '~.config/borg/keys' auf dem lokalen Rechner speichern (keyfile). Dann sollte man die Schlüsseldatei aber unbedingt zusätzlich sichern. ❗ Sonst kann bei einem Datenverlust des lokalen Rechners das Archiv nicht wieder entschlüsselt werden.
Soll das Repository auf einem entfernten Rechner mittels ssh angelegt werden, muss Borg vorher auch auf dem Zielrechner installiert werden. Danach kann alternativ folgender Befehl verwendet werden:
borg init [OPTIONEN] ssh://USER@HOSTNAME:PORT//REPO_VERZEICHNISPFAD
Wenn ssh mit bestimmten Optionen aufgerufen werden soll, kann die Umgebungsvariable BORG_RSH verwendet werden. Die Angabe des Pfads zu einer Schlüsseldatei erfolgt z.B. so:
export BORG_RSH='ssh -i /PFAD/SCHLÜSSELDATEI'
Borg verwendet dann diesen Befehl statt ssh.
Hinweis:
Sollte eine Installation von Borg auf dem Zielrechner nicht möglich sein, kann das Zielverzeichnis alternativ zuvor auch mittels sshfs eingebunden werden. Dann kann Borg auf dieses Verzeichnis wie auf ein lokales Verzeichnis zugreifen.
Anlegen von Archiven¶
Archive werden mittels "create" angelegt. Die Liste der Verzeichnisse, die gesichert werden sollen, wird am Ende der Befehlszeile durch Leerzeichen getrennt angegeben.
borg create [OPTIONEN] REPO_VERZEICHNISPFAD::ARCHIVNAME VERZEICHNISPFAD_1 VERZEICHNISPFAD_2
Für das erstellen von Archiven über ssh muss alternativ folgender Befehl verwendet werden:
borg create [OPTIONEN] ssh://USER@HOSTNAME:PORT//REPO_VERZEICHNISPFAD::ARCHIVNAME VERZEICHNISPFAD_1 VERZEICHNISPFAD_2
Zu möglichen Optionen für das Anlegen von Archiven siehe nachfolgende Tabelle:
Wichtige Optionen für den create-Befehl | |
-h oder --help | Ausgabe eines Hilfetextes |
-v oder --verbose | Ausführlichere Ausgabe von Meldungen |
-s oder --stats | Ausgabe von Statistiken zum erzeugten Archiv |
-p oder --progress | Ausgabe einer Fortschrittsanzeige |
-e oder --exclude MUSTER | Ein bestimmtes Muster bei der Sicherung ausschließen, z.B. '*.tmp' |
--exclude-caches | Cache-Verzeichnisse (mit dem CACHEDIR.TAG) ausschließen |
-x oder --one-file-system | Im gleichen Dateisystem bleiben und Einhängepunkte ignorieren |
-C oder --compression KOMPRESSION | Kompressionsalgorithmus und Stufe wählen (siehe extra Tabelle) |
Mögliche Werte für die Kompressions-Option (-C oder --compression) | |
none | Keine Kompression (Standard) |
lz4 | lz4 |
zlib | zlib Stufe 6 (Standard) |
zlib,N | zlib Stufe N. N von 0 bis 9, z.B. „zlib,4“ |
lzma | lzma Stufe 6 (Standard) |
lzma,N | lzma Stufe N. N von 0 bis 9, z.B. „lzma,4“ |
Hat man auf einer externen Festplatte zum Beispiel ein Repository "borgbackups" erstellt und will den Bilder- und den Videoordner des eigenen Homeverzeichnisses in ein Archiv "MeineMedien" sichern, könnte das so aussehen:
borg create -C lzma,4 /media/user1/HD_Backup/borgbackups::MeineMedien ~/Bilder ~/Videos
In diesem Fall wird das Archiv mit lzma der Stufe 4 komprimiert.
Zurückspielen von Sicherungen¶
Zurückspielen von Dateien und Ordnern¶
Einhängen der Sicherung mit Fuse¶
Weitere Borg-Befehle¶
Borg Befehlsübersicht | |
rename | Umbenennen eines Archivs |
Skript für die erleichterte Benutzung von Borg¶
Links¶
Datensicherung Übersichtsartikel