Backup & Restore
Restic
Restic ist ein modernes, quelloffenes Kommandozeilen-Backup in Go mit Deduplizierung, stets aktiver Verschlüsselung und breitem Cloud-/Objektspeicher-Support.
- Breite native Backends (S3, Azure, GCS)
- Immer verschlüsselt (kein Opt-out)
- Dedup über Content-Defined Chunking
- Ein statisches Go-Binary
- Open Source (BSD-2-Clause)
Restic ist ein modernes, quelloffenes Backup-Programm in Go, das mit dem Anspruch „einfach, schnell, sicher und verifizierbar“ antritt. Sein Markenzeichen ist die breite native Unterstützung von Backends, von lokalem Speicher über SFTP bis zu S3, Azure Blob und Google Cloud Storage, kombiniert mit einer Verschlüsselung, die nicht abschaltbar ist: Ein Restic-Repository ist immer verschlüsselt.
Dieser Artikel erklärt die Design-Ziele, das Content-Defined Chunking, die stets aktive clientseitige Verschlüsselung, die nativen Backends, den Workflow (backup, restore, forget, prune, check), die Kompression ab Version 0.14, den Append-only-Schutz und den Stand zu S3 Object Lock sowie die Multi-Client-Fähigkeit. Eine sachliche Abgrenzung zu BorgBackup gehört dazu.
1. Design und Deduplizierung
Restic ist ein einzelnes, statisch gelinktes Go-Binary ohne Laufzeit-Abhängigkeiten, das sich leicht ausrollen lässt. Es dedupliziert über Content-Defined Chunking (variable Blöcke per Rolling-Hash, Zielgröße etwa 1 MiB), wobei jeder Block über seinen SHA-256-Hash identifiziert wird; gleiche Inhalte werden über Snapshot-Grenzen hinweg nur einmal gespeichert. Bei der Repository-Initialisierung wird ein zufälliges Polynom gewählt, um Rückschlüsse über das Chunking-Muster zu erschweren.
2. Immer verschlüsselt
Verschlüsselung ist bei Restic keine Option, sondern Pflicht: Daten werden clientseitig mit AES-256 im CTR-Modus verschlüsselt und mit Poly1305-AES authentifiziert, jeder Block mit eigenem Initialisierungsvektor; die Schlüsselableitung nutzt scrypt. Es gibt kein Flag, um ein unverschlüsseltes Repository anzulegen. Mehrere Passwörter können gleichzeitig gültig sein, und ein Passwortwechsel erfordert keine Neuverschlüsselung der Daten.
Dass Verschlüsselung nicht abschaltbar ist, klingt nach Bevormundung, ist aber genau richtig: Ein Backup landet schnell auf fremdem Speicher oder in der Cloud. Wenn Vertraulichkeit der Default ist und nicht eine Option, die jemand zu setzen vergisst, verschwindet eine ganze Klasse von Fehlern.
3. Breite native Backends
Der größte praktische Unterschied zu vielen CLI-Backups ist die Backend-Vielfalt. Restic spricht nativ lokalen Speicher, SFTP/SSH, einen eigenen REST-Server (mit Append-only-Modus), Amazon S3 und S3-kompatible Dienste (MinIO, Wasabi, Backblaze B2, Cloudflare R2), Azure Blob, Google Cloud Storage und OpenStack Swift. Über rclone kommen praktisch beliebige weitere Cloud-Ziele hinzu. Das macht eine günstige, ausgelagerte 3-2-1-Kopie unkompliziert.
Restic: Backup nach S3, Retention, Integritätsprüfung
export RESTIC_REPOSITORY="s3:s3.eu-central-1.amazonaws.com/mein-bucket"
restic backup /etc /home /var/www
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
restic check --read-data-subset=10% 4. Workflow und Kompression
Ein restic backup erzeugt einen Snapshot; restic restore stellt ihn wieder her, restic mount bindet ihn als FUSE-Dateisystem für selektive Wiederherstellung ein. Die Retention erfolgt zweistufig: forget entfernt Snapshots aus dem Index, prune löscht die nicht mehr referenzierten Blöcke (kombinierbar als forget --prune). restic check prüft die Struktur, mit --read-data oder einer Stichprobe auch die Inhalte. Kompression (zstd) gibt es seit Version 0.14 und erfordert das Repository-Format v2 (für neue Repos Standard).
5. Ransomware-Schutz und Multi-Client
Gegen Ransomware bietet der REST-Server einen Append-only-Modus: Schreiben und Lesen sind möglich, Löschen und Überschreiben werden verweigert, auch gegenüber einem kompromittierten Client. S3 Object Lock im Compliance-Modus lässt sich derzeit nicht direkt nutzen, weil Restic eigene Lock-Dateien löschen können muss; ein lock-freier Betrieb ist in Arbeit. Praktisch ist der Append-only-REST-Server der empfohlene Weg. Anders als Borg erlaubt Restic, dass mehrere Clients in dasselbe Repository sichern, mit repoübergreifender Deduplizierung.
Kein Scheduler im Kern, Passwort sichern
Restic bringt weder GUI noch Scheduler mit; für den Betrieb dienen Wrapper wie resticprofile, autorestic oder Backrest (Web-UI) sowie systemd-Timer. Entscheidend: Das Repository-Passwort ist der einzige Zugang. Geht es verloren, sind die Daten unwiederbringlich. Es gehört getrennt und sicher aufbewahrt.
6. Stärken und Grenzen
| Stärken | Grenzen |
|---|---|
| Breite native Backends (S3, Azure, GCS, SFTP, rclone) | CLI-only, kein Scheduler/GUI im Kern |
| Verschlüsselung immer aktiv, kein Opt-out | S3 Object Lock (Compliance) derzeit nicht direkt nutzbar |
| Multi-Client gegen ein gemeinsames Repository | prune kann bei großen Repos zeitintensiv sein |
| Ein statisches Binary, einfaches Deployment | Passwortverlust bedeutet endgültigen Datenverlust |
| Kompression (zstd) seit 0.14, BSD-Lizenz | kein nativer Object-Lock-Workflow ohne REST-Server |
Häufige Fragen zu Restic
Nein. Restic-Repositories sind immer verschlüsselt; es gibt kein Flag, um sie ohne Verschlüsselung anzulegen. Das ist Absicht, weil Backups häufig auf fremdem oder Cloud-Speicher liegen. Konsequenz: Das Repository-Passwort muss sicher und getrennt aufbewahrt werden, denn ohne Passwort gibt es keinen Zugriff.
Ja, das ist eine seiner Stärken. Restic unterstützt nativ S3 und S3-kompatible Dienste, Azure Blob, Google Cloud Storage und über rclone viele weitere Ziele. Zusammen mit der stets aktiven Verschlüsselung und einem Append-only-REST-Server lässt sich damit eine günstige, geschützte Offsite-Kopie umsetzen.
Auch der Autor ist nur ein Mensch, dem Fehler unterlaufen können. Wenn in diesem Beitrag etwas nicht stimmt oder unklar ist, freuen wir uns über einen kurzen Hinweis über das Kontaktformular unten, wir prüfen und korrigieren das.
Der nächste Schritt
Restic im eigenen Haus richtig einsetzen?
Wir klären, ob und wie der Baustein zu Ihrer Infrastruktur passt, und sagen offen, wann sich der Aufwand lohnt und wann nicht.