Was ist Restic?

Restic ist ein modernes, in Go geschriebenes Backup-Tool, das 2014 von Alexander Neumann entwickelt wurde. Das Ziel: Backups so einfach und sicher wie möglich zu machen. Restic ist plattformübergreifend (Linux, macOS, Windows) und unterstützt zahlreiche Cloud- und Netzwerk-Backends – von S3-kompatiblen Speichern bis hin zu Backblaze B2.

Kernfeatures:

  • Deduplizierung auf Content-Adressable-Storage-Basis
  • AES-256-Verschlüsselung (immer, kein Opt-out)
  • Unterstützte Backends: lokales Dateisystem, SFTP, S3, Backblaze B2, Azure, Google Cloud, rclone
  • Plattformübergreifend: Linux, macOS, Windows, FreeBSD
  • Snapshots mit Tags und Metadaten
  • check-Kommando zur Repository-Validierung

Was ist BorgBackup?

BorgBackup (kurz: Borg) ist ein 2015 gegründetes Backup-Tool, das aus dem älteren Attic-Projekt hervorging. Borg ist in Python und C geschrieben und gilt als besonders ausgereift in Deduplizierung und Komprimierung. Es wird hauptsächlich auf Linux und macOS eingesetzt.

Kernfeatures:

  • Chunk-basierte Deduplizierung mit BLAKE2-Hashing
  • Komprimierung: LZ4, zstd, zlib, bzip2
  • Verschlüsselung: AES-OCB oder AES-CTR mit HMAC
  • FUSE-Mount: Backups als Dateisystem einhängen
  • borg serve: Dedizierter Repository-Server
  • BorgMatic: Automatisierungs-Wrapper mit YAML-Konfiguration

Deduplizierung und Komprimierung im Vergleich

Deduplizierung ist der Kernmechanismus beider Tools – aber die Implementierung unterscheidet sich:

Restic BorgBackup
Chunk-Algorithmus Content Defined Chunking CDC mit Rollende-Hash-Optimierung
Komprimierung LZ4, zstd, zlib, bzip2 (ab v0.14) LZ4, zstd, zlib, bzip2
Hash-Algorithmus SHA-256 / SHA-512 BLAKE2b
Chunk-Größe ~1 MB (variable) ~512 KB (konfigurierbar)

In der Praxis: Borg erreicht oft leicht bessere Deduplizierungsraten bei ähnlichen Daten, weil kleinere Chunks mehr gemeinsame Blöcke erkennen. Bei großen Datenmengen kann Restic dank besserer Parallelisierung schneller sein.

Backend-Unterstützung

Der wichtigste Unterschied für viele Self-Hoster: Backend-Support.

Restic unterstützt nativ:

  • Lokales Dateisystem
  • SFTP / SSH
  • AWS S3 und kompatible Stores (MinIO, Backblaze B2, Wasabi)
  • Azure Blob Storage
  • Google Cloud Storage
  • rclone (50+ weitere Provider)

BorgBackup unterstützt nativ:

  • Lokales Dateisystem
  • SSH via borg serve auf einem Remote-Server
  • Keine direkten Cloud-Backends – für Cloud-Backups muss SSHFS oder ein Wrapper verwendet werden

Für Cloud-Backups (Backblaze B2, S3, MinIO) ist Restic die klar bessere Wahl. Borg ist auf direktem SSH-Zugang zu einem dedizierten Backup-Server optimiert.

Geschwindigkeit

In der Praxis bei typischen Server-Workloads (100 GB Daten, inkrementelle Backups):

  • Erstes Backup: Borg ist oft leicht schneller durch ausgereifte C-Implementierung
  • Inkrementelle Backups: Vergleichbar, aber Restic hat bessere Parallelisierung bei großen Dateibäumen
  • Wiederherstellung: Borg mit FUSE-Mount sehr flexibel für selektive Wiederherstellung; Restic schneller bei vollständiger Wiederherstellung
  • Verifikation: Restics check --read-data ist langsamer; Borgs borg check effizienter

Verschlüsselung

Beide Tools verschlüsseln immer – es gibt keinen Plaintext-Modus:

  • Restic: AES-256-GCM, Schlüssel via Passwort oder Schlüsseldatei, alle Backend-Metadaten verschlüsselt
  • Borg: AES-OCB oder AES-CTR mit HMAC, wahlweise mit Passphrase oder nur Schlüsseldatei

Ein wichtiges Detail: Bei Restic werden alle Metadaten verschlüsselt, sodass der Storage-Server keine Informationen über den Backup-Inhalt erhält. Das macht Restic besonders geeignet für nicht vertrauenswürdige Cloud-Provider.

Automatisierung: BorgMatic vs. autorestic

Für den produktiven Einsatz entscheidend: Wie gut lässt sich das Tool automatisieren?

Restic hat kein offizielles Wrapper-Tool, aber die Community bietet autorestic – ein YAML-basiertes Tool für Backups, Pruning und Healthchecks. Alternativ lassen sich systemd-Timer oder Cron-Jobs direkt nutzen.

BorgBackup hat BorgMatic – einen ausgereiften Python-Wrapper mit umfangreicher YAML-Konfiguration. BorgMatic ist de facto der Standard für Borg-Automatisierung:

repositories:
  - path: ssh://user@backup-server/backup/repo
    label: nas

retention:
  keep_daily: 7
  keep_weekly: 4
  keep_monthly: 6

checks:
  - name: repository
  - name: archives
    frequency: 2 weeks

hooks:
  healthchecks:
    ping_url: https://hc-ping.com/dein-uuid

Diese Konfigurationstiefe bietet BorgMatic out-of-the-box. Mit autorestic lässt sich Ähnliches für Restic erreichen, aber BorgMatic ist ausgereifter und besser dokumentiert.

Wann Restic, wann BorgBackup?

Restic wählen, wenn:

  • Cloud-Backups (S3, Backblaze B2, MinIO, Wasabi) geplant sind
  • Windows oder macOS als Backup-Quelle dabei ist
  • Einfachste Installation ohne zusätzliche Wrapper gewünscht ist
  • Parallelisierung und Go-Performance wichtig sind
  • Backups zu nicht vertrauenswürdigen Anbietern gesichert werden sollen

BorgBackup wählen, wenn:

  • Lokale Backups oder SSH-basierte Backup-Server im Einsatz sind
  • Maximale Deduplizierungseffizienz gefragt ist
  • BorgMatic für komfortable Automatisierung genutzt werden soll
  • FUSE-Mounts für selektive Wiederherstellung benötigt werden
  • Ein dedizierter Backup-Server (Raspberry Pi, NAS, günstiger VPS) vorhanden ist

Empfehlung für neue Setups: Für Cloud-Backups → Restic. Für lokale Infrastruktur mit SSH-Backup-Server → BorgBackup mit BorgMatic. Viele Sysadmins nutzen beide: Restic für schnelle Offsite-Backups nach S3, Borg für lokale NAS-Backups mit optimaler Komprimierung.

Alternativen

Für einfachere Use Cases bietet sich Duplicati mit Web-Interface an. Kopia ist ein neuerer Go-basierter Ansatz mit Repository-Server und UI – ähnlich wie Restic, aber mit integriertem Server-Modus.

Verwandte Technologien im Techradar

Weiterführende Artikel