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 serveauf 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-dataist langsamer; Borgsborg checkeffizienter
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.