Benutzer-Werkzeuge

Webseiten-Werkzeuge


borg-backup

Dies ist eine alte Version des Dokuments!


  • Backupprogramm
  • in Python geschrieben
  • macht inkrementelle Backups
  • wahlfreier Zugriff auf Dateien und Versionstände
    • man muss also nicht einen kompletten Stand von einem Zeitpunkt wiederherstellen
    • man kann eine Datei, in einer bestimmten Version wiederherstellen (ggf. auch an einem anderen Ort)
  • Unterstützt Remote-Backups
    • über scp
    • in dem es sich über ssh auf der Remote-Maschine startet
  • hohe Komprimierung möglich
    • verschiedene Algorithmen werden unterstützt
    • De-Duplizierung
    • in der Praxis kann es bei sehr hoher Komprimierung auf 1/3 reduzieren
  • Single-Core
    • Es wird nur ein Kern genutzt
    • das initiale Backup bei hoher Komprimierung kann daher sehr lange dauern
      • 1 Terrabyte mehr als 24 Stunden

Benutzung

Repository anlegen

  • Als erstes muss man ein Repository anlegen
    • das enthält alle (inkrementellen Backups/aka. Archive) zu einem System
    • es handelt sich um ein Verzeichnis + Meta-Daten

borg init --encryption=repokey user@hostname:backup

  • --encrypton
    • gibt die Verschlüsselungsmethode (und den Algorithmus) für das Repository an
    • gilt für alle Backups/Archive dieses Repositories
    • kann im Nachgang nicht mehr geändert werden
      • das Passwort schon, die Methode aber nicht
  • repokey
    • bedeutet es werden Schlüssel erzeugt mit denen die Dateien verschlüsselt werden und diese im Repository abgelegt
    • die Schlüssel werden mit einem Passwort verschlüsselt
    • es gibt noch andere Möglichkeiten

Backup erstellen

  • bei Backups über ssh ist es sinnvoll einen Schlüssel auf die Remote-Maschine zu legen um nicht jedes mal das Passwort eingeben zu müssen

borg create -C zstd,22 --progress ssh://remote-user@192.168.15.3/backup/work::20220914 /home/rapunzel

  • borg create erstellt ein Backup
    • wenn bereits ein Archiv vorhanden ist werden nur die Veränderungen relativ zu diesem (inkrementelles Backup) gesichert
  • -C definiert die Kompression
    • zstd ist der Algorithmus
    • ,22 ist die Kompressionsrate (oder andere Parameter die dem Algorithmus übergeben werden sollen)
  • --progress 

    bedeutet das ausgegeben wird woran gerade gearbeitet wird

  • ssh://remote-user@192.168.15.3/backup/work

    ist der Pfad zum Repository

    • ssh://remote-user@192.168.15.3

      definiert das das Repository remote via ssh zu finden ist

    • /backup/work

      ist der absolute Pfad wo das Backup-Repository zu finden ist

      • relative Pfade müssen per „:“ vom ssh-Pfad getrennt werden
  • ::20220914

    Archiv in das gespeichert werden soll

    • jedes (inkrementelle) Backup wird in ein eigenes Archiv, innerhalb des gleichen Repositories gespeichert
    • sinnvoll ist z.B. das Datum als Name
  • /home/rapunzel → der Pfad (auf der lokalen Maschine) der archiviert werden soll
borg-backup.1663704284.txt.gz · Zuletzt geändert: 2022/09/20 22:04 von root