Benutzer-Werkzeuge

Webseiten-Werkzeuge


borg-backup
  • 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 ssh://remote-user@192.168.15.3/backup/work

  • --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
  • ssh://remote-user@192.168.15.3
    • das Remote-System auf dem das Repository gespeichert werden soll
  • /backup/work
    • der Pfad auf dem Remote-System in dem das Repository angelegt werden soll
    • es muss sich um einen gültigen (im Sinne von darstellbaren) Verzeichnisnamen handeln
    • das Verzeichnis (wenn es schon existiert) sollte leer sein
    • ein Repository sollte nur für die Backups eines Systems genutzt werden

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.txt · Zuletzt geändert: 2022/09/20 22:15 von root