Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe
allgemeine Kategorie => Installation, Einrichtung und Systempflege => Thema von: Sebastian am 19. April 2026, 15:56:16

Titel: BTRFS mit yabsnap – inkrementelle Backups mit hoher Datenintegrität
Beitrag von: Sebastian am 19. April 2026, 15:56:16

Einleitung:
In diesem Beitrag wird ein Workflow vorgestellt, mit dem sich zeit- und platzsparende Backups auf einem BTRFS-Dateisystem (Copy-on-Write-Dateisystem mit Snapshot-Funktionalität) umsetzen lassen.

TLDR; Mithilfe von yabsnap und btrfs send/receive können effiziente inkrementelle Backups erstellt werden. Initial wird ein vollständiger Snapshot übertragen, danach nur noch Änderungen.

Voraussetzung sind zwei getrennte BTRFS-Dateisysteme: eine Quelle und ein Ziel (z. B. externe USB-Festplatte). BTRFS bietet durch Checksummen (Integritätsprüfung von Datenblöcken) und optionale Redundanzmechanismen zusätzliche Datensicherheit.

Hauptteil:
Der Workflow basiert auf Snapshots, die mit dem Snapshot-Manager yabsnap erstellt werden. Anschließend werden diese mittels btrfs send/receive übertragen.

Konfigurationsdatei erstellen:

Code:

yabsnap create-config root


Ergebnis: Datei unter /etc/yabsnap/configs/root.conf.

Die Konfiguration definiert:

  • Quelle des Snapshots (z. B. / oder /home)
  • Zielpfad und Namensschema
  • Aufbewahrungsrichtlinien (Retention)
  • Automatische Snapshot-Trigger


  • Weitere Konfigurationen werden erstellt:

    • /etc/yabsnap/configs/home.conf
    • /etc/yabsnap/configs/root-backup.conf
    • /etc/yabsnap/configs/home-backup.conf


    • Anpassung für Home:

      Code:

      source = /home
      dest_prefix = /.snapshots/@home-
      keep_preinstall = 0
      keep_hourly = 8
      keep_daily = 7
      keep_weekly = 4
      keep_monthly = 1
      keep_yearly = 0


      Backup-Konfiguration (keine automatische Rotation):

      Code:

      dest_prefix = /.snapshots/@backup-root-
      keep_user = 2
      keep_preinstall = 0
      keep_hourly = 0
      keep_daily = 0
      keep_weekly = 0
      keep_monthly = 0
      keep_yearly = 0


      Snapshots manuell erstellen:

      Code:

      sudo yabsnap create


      Ergebnis prüfen:

      Code:

      yabsnap list


      Initiales Backup (vollständiger Snapshot):

      Code:

      sudo mount --mkdir -o force-compress=zstd:15 /dev/sdX /mnt/externe-btrfs-platte
      sudo btrfs send --proto 2 /.snapshots/@backup-root-<timestamp> | sudo btrfs receive /mnt/externe-btrfs-platte/


      Inkrementelles Backup:

      Code:

      sudo btrfs send --proto 2 -p /.snapshots/@backup-root-ALT /.snapshots/@backup-root-NEU | sudo btrfs receive /mnt/externe-btrfs-platte/


      Die Option -p definiert den Parent-Snapshot. Es werden nur Änderungen übertragen.

      Beispiele:
      Typische Einsatzszenarien:

      • Regelmäßige System-Backups mit minimalem Speicherverbrauch
      • Schnelle Wiederherstellung einzelner Subvolumes
      • Versionsbasierte Sicherung von Nutzerdaten


      • Fazit:
        Der kombinierte Einsatz von yabsnap und btrfs send/receive ermöglicht effiziente, inkrementelle Backups mit hoher Datenintegrität. Durch flexible Konfiguration lassen sich unterschiedliche Anforderungen an Aufbewahrung und Speicherverbrauch umsetzen.

        LG
        Sebastian


Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.