Restic Backups: verschlüsselt, inkrementell und cloud-fähig
Eine belastbare Backup-Strategie braucht drei Dinge: Verschlüsselung, Automatisierung und echte Restore-Sicherheit. Restic liefert genau das mit einer schlanken CLI und breiter Backend-Unterstützung.
Diese Anleitung zeigt einen praxistauglichen Workflow für Server und kleinere Infrastruktur-Teams.
1) Restic installieren
Auf Ubuntu/Debian:
sudo apt update
sudo apt install restic -y
restic version
2) Repository-Zugang konfigurieren
Für nicht-interaktive Jobs Umgebungsvariablen nutzen:
export RESTIC_REPOSITORY=s3:https://s3.us-east-1.amazonaws.com/my-restic-bucket
export RESTIC_PASSWORD='use-a-strong-passphrase'
export AWS_ACCESS_KEY_ID='...'
export AWS_SECRET_ACCESS_KEY='...'
Für lokales Repository:
export RESTIC_REPOSITORY=/backup/restic-repo
export RESTIC_PASSWORD='use-a-strong-passphrase'
Repository initialisieren:
restic init
3) Ersten Snapshot erstellen
restic backup /etc /var/www /home
Snapshots auflisten:
restic snapshots
4) Retention-Policy anwenden
Ausgewogene Beispiel-Policy:
restic forget --prune \
--keep-last 10 \
--keep-daily 14 \
--keep-weekly 8 \
--keep-monthly 12
So kontrollierst du Datenwachstum und behältst sinnvolle Wiederherstellungspunkte.
5) Integrität prüfen
Schnellcheck:
restic check --read-data-subset=5%
Vollständiger Check regelmäßig:
restic check
6) Restore-Test (Pflicht)
Gezielten Pfad aus dem neuesten Snapshot wiederherstellen:
restic restore latest --target /tmp/restore-test --include /etc/nginx/nginx.conf
Anschließend Dateiinhalt, Rechte und Wiederherstellungszeit validieren.
7) Mit systemd automatisieren
Service /etc/systemd/system/restic-backup.service:
[Unit]
Description=Restic Backup Job
[Service]
Type=oneshot
EnvironmentFile=/etc/restic/env
ExecStart=/usr/bin/restic backup /etc /var/www /home
ExecStartPost=/usr/bin/restic forget --prune --keep-last 10 --keep-daily 14 --keep-weekly 8 --keep-monthly 12
Timer /etc/systemd/system/restic-backup.timer:
[Unit]
Description=Run Restic backup daily
[Timer]
OnCalendar=*-*-* 02:15:00
Persistent=true
[Install]
WantedBy=timers.target
Timer aktivieren:
sudo systemctl daemon-reload
sudo systemctl enable --now restic-backup.timer
sudo systemctl list-timers | grep restic
Praktische Best Practices
- Repository-Passwort in Secret-Manager speichern
- Backup-Credentials von App-Credentials trennen
- Unveränderbare/offline Kopie für Ransomware-Resilienz halten
- Restore-Runbook nach Prioritäten dokumentieren
Fazit
Restic bietet starke Data-Protection-Grundlagen bei geringer Komplexität. Wenn Snapshots, Retention, Checks und Restore-Tests automatisiert sind, entsteht eine verlässliche Backup-Basis.
Entscheidend ist operative Disziplin: Backups müssen beobachtbar, prüfbar und unter Druck wiederherstellbar sein.