Login
Newsletter
Werbung

Do, 18. Januar 2018, 15:00

System- und Dateibackup mit Borg

Der erste Backup

Bevor ein Backup erstellt werden kann, muss sichergestellt werden, dass genügend freier Speicherplatz auf der Zielpartition vorhanden ist. Auch unter ~/.cache sollten laut Angaben der Entwickler genug Speicher für die Indexierung der Daten vorhanden sein.

Für die eigentliche Erstellung von Archiven ist das Kommando create verantwortlich:

# borg create /mein/storage/dir::Archivname \
  /zu/sicherndes/dir1 /zu/sicherndes/dir2

Wie auch schon bei init, kann auch create um diverse Optionen ergänzt werden. Eine Liste aller möglichen Optionen liefert help create, das im Übrigen mit den meisten Kommandos zusammenarbeitet und stets eine Quelle von gut dokumentierten Beispielen und Optionserklärungen ist.

Wer nicht ständig den Ort des Repositorys angeben will, kann den Namen durch die globale Variable BORG_REPO ersetzen. Dabei spielt es keine Rolle, ob der Ort lokal oder auf einem entfernten Server mittels ssh erreicht werden kann – Borg kommt mit beiden Arten der Speicherung klar. Beim entfernten Zugriff muss lediglich sichergestellt werden, dass der Nutzer entweder entsprechende SSH-Schlüssel installiert oder aber die Anmeldedaten in der Kommandozeile Borg übergibt. Auch hier kann das Passwort entweder durch die Variable BORG_PASSPHRASE oder mittels einer externen Anwendung, die innerhalb BORG_PASSCOMMAND definiert wird, übergeben werden.

Bevor Borg eine Deduplizierung der Daten durchführt, können sie mittels der Option --compression komprimiert werden. Borg stellt dazu vier verschiedene Möglichkeiten bereit: none, lz4, zlib und lzma. Während none keine Kompression durchführt, dafür aber am schnellsten und ressourcenschonendsten arbeitet, bietet lz4 eine moderate Kompression, gepaart mit einer sehr guten Geschwindigkeit. Eine noch bessere Kompression bieten zlib und lzma, was sich allerdings teils massiv auf der Backup-Geschwindigkeit niederschlägt. Sowohl zlib wie auch lzma können ferner Kompressionsstufen hinzufügt werden. Dazu muss lediglich nach der Kompressionsoption hinter einem Komma die gewünschte Stufe eingestellt werden: --compression lzma,6

Größe eines 9,51 GB großen Verzeichnisses nach einem Backup
nonelz4zliblzma
Komprimierte größe9,51 GByte6,85 GByte6,07 GByte5,54 GByte
Finale Archivgröße8,63 GByte6,39 GByte5,59 GByte5,12 GByte

Wie bei den meisten Backup-Anwendungen üblich arbeitet auch Borg rekursiv. Wer mit vielen Verzeichnissen arbeitet und nicht ständig Ausnahmen mittels --exclude hinzufügen will, wird sich deshalb mit der Option --exclude-if-present beschäftigen. Damit ist es möglich, in ein Verzeichnis eine Steuerungsdatei abzulegen, die Borg signalisiert, von diesem Ort keine Sicherung anzulegen. Eine weitere interessante Option ist zudem --one-file-system, die sicherstellt, Borg in dem gleichen Dateisystem bleibt und Einhängepunkte ignoriert.

# touch ~/Downloads/.NO_BACKUP
# borg create --one-file-system --exclude-if-present .NO_BACKUP \ 
  /mein/storage/dir::180101_home ~/

Weitere Backups

Vor allem bei großen Verzeichnissen, die kaum geändert werden, sollte man sich von der initialen Ausführungsgeschwindigkeit nicht täuschen lassen. Erstellt Borg ein weiteres Backup, werden nicht mehr alle Daten gesondert übertragen und gespeichert, sondern nur noch die Differenz zwischen den Ständen. Auch dieses Mal zerlegt Borg die Daten in kleinere Häppchen und speichert nur noch die Änderungen. Das sorgt nicht nur dafür, dass die kommenden Backups keiner werden, sondern auch erheblich schneller ablaufen. So betrug beispielsweise der Nachfolge-Backup mittels lzma nicht mehr 40 Minuten wie zuvor, sondern nur noch 20 Sekunden. Auch dieser Aspekt sollte deshalb bei der Wahl der Kompression berücksichtigt werden.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung