Restic Backup auf Linux und Windows einrichten und automatisieren (cron/Task Scheduler)
Restic Backup einrichten leicht gemacht: verschlüsselte, deduplizierte Backups unter Linux und Windows automatisieren - per cron, Aufgabenplanung und rclone-Cloud-Ziel inklusive Restore-Test.

Mit dieser Anleitung lernst du, wie du ein Restic Backup einrichten und vollständig automatisieren kannst - unter Linux per cron und unter Windows per Aufgabenplanung. Restic ist ein modernes, quelloffenes Kommandozeilen-Backup-Tool, das deine Daten standardmäßig verschlüsselt, dedupliziert und komprimiert. Diese Schritt-für-Schritt-Anleitung richtet sich an Admins, Homeserver-Betreiber und alle, die ihre Daten zuverlässig sichern wollen - lokal und zusätzlich in der Cloud über rclone (S3, Wasabi, Backblaze B2). Am Ende läuft dein Backup automatisch im Hintergrund, alte Snapshots werden nach einer Aufbewahrungsregel bereinigt, und du hast den Restore mindestens einmal getestet.
Kurzfassung: Restic installieren, mit restic init ein verschlüsseltes Repository anlegen, mit restic backup Snapshots erstellen, die Befehle per cron (Linux) bzw. Aufgabenplanung (Windows) automatisieren, optional ein rclone-Cloud-Ziel anbinden und mit restic forget --prune aufräumen. Restore vorab testen.Was ist Restic und warum solltest du es nutzen?
Restic ist ein freies Backup-Programm (BSD-2-Lizenz), das in Go geschrieben ist und als einzelne Binärdatei für Linux, Windows, macOS und BSD ausgeliefert wird. Es speichert deine Daten in einem sogenannten Repository - das kann ein lokaler Ordner, eine externe Festplatte, ein SFTP-Server oder ein Cloud-Speicher sein. Drei Eigenschaften machen Restic besonders attraktiv:
- Verschlüsselung standardmäßig aktiv: Alle Daten werden vor dem Schreiben mit AES-256 verschlüsselt und mit Poly1305-AES authentifiziert. Ohne dein Passwort kommt niemand an die Inhalte.
- Deduplizierung: Restic zerlegt Dateien in variable Blöcke und speichert identische Blöcke nur einmal. Selbst über mehrere Hosts und Snapshots hinweg sparst du dadurch enorm Speicherplatz.
- Kompression: Seit Restic 0.14 werden Daten zusätzlich komprimiert (Standard
auto), was das Repository weiter verkleinert.
Jeder Sicherungslauf erzeugt einen Snapshot - eine konsistente Momentaufnahme deiner Dateien. Snapshots sind unveränderlich und lassen sich einzeln wiederherstellen, durchsuchen oder als Verzeichnis einhängen. Das macht Restic zu einer soliden Grundlage für eine 3-2-1-Backup-Strategie.
Voraussetzungen
- Einen Linux-Host (Debian/Ubuntu, Fedora, Arch o. Ä.) und/oder einen Windows-10/11- bzw. Windows-Server-Rechner
- Administrator- bzw. root/sudo-Rechte zum Installieren und zum Anlegen geplanter Aufgaben
- Ein Backup-Ziel: lokaler Pfad, externe Platte, SFTP-Server oder ein Cloud-Konto (Backblaze B2, Wasabi, AWS S3, S3-kompatibel)
- Optional
rclonefür die Cloud-Anbindung (für nahezu jeden Cloud-Provider) - Ein starkes, sicher hinterlegtes Repository-Passwort - ohne dieses Passwort sind deine Backups unwiederbringlich verloren
Schritt 1: Restic installieren
Restic ist in praktisch jeder Linux-Distribution paketiert. Alternativ lädst du die Binärdatei direkt von GitHub.
Linux (Paketmanager)
# Debian / Ubuntu
sudo apt update
sudo apt install restic
# Fedora
sudo dnf install restic
# Arch Linux
sudo pacman -S resticLinux (Binärdatei von GitHub)
# Self-Update bei vorhandener Installation
sudo restic self-update
# Version prüfen
restic versionWindows
Unter Windows installierst du Restic am bequemsten über einen Paketmanager oder lädst die .exe aus den GitHub-Releases und legst sie in einen Ordner im PATH (z. B. C:\Tools\restic).
# Mit winget
winget install restic.restic
# Oder mit Chocolatey
choco install restic
# Version prüfen
restic versionSchritt 2: Restic Repository initialisieren
Bevor du sichern kannst, musst du ein Repository anlegen. Dabei legst du das Verschlüsselungspasswort fest. Wir verwenden Umgebungsvariablen, damit du Passwort und Pfad nicht bei jedem Befehl wiederholen musst.
Lokales oder externes Ziel (Linux)
# Repository-Pfad und Passwort als Umgebungsvariablen setzen
export RESTIC_REPOSITORY="/mnt/backup/restic-repo"
export RESTIC_PASSWORD="DeinSehrStarkesPasswort"
# Repository initialisieren (restic repository initialisieren)
restic initSicherer als RESTIC_PASSWORD ist eine Passwortdatei mit eingeschränkten Rechten:
echo "DeinSehrStarkesPasswort" | sudo tee /root/.restic-pass > /dev/null
sudo chmod 600 /root/.restic-pass
export RESTIC_REPOSITORY="/mnt/backup/restic-repo"
export RESTIC_PASSWORD_FILE="/root/.restic-pass"
restic initWindows (PowerShell)
# Repository auf externer Platte E: anlegen
$env:RESTIC_REPOSITORY = "E:\restic-repo"
$env:RESTIC_PASSWORD = "DeinSehrStarkesPasswort"
restic initNotiere dir das Passwort an einem sicheren Ort (Passwort-Manager). Geht es verloren, kannst du auf KEINEN deiner Snapshots mehr zugreifen.
Schritt 3: Das erste Backup erstellen
Jetzt erstellst du deinen ersten Snapshot. Übergib einfach die Verzeichnisse, die gesichert werden sollen.
Linux
# Wichtige Verzeichnisse sichern
restic backup /etc /home /var/www
# Mit Ausschlüssen und Tag
restic backup /home \
--exclude="/home/*/.cache" \
--exclude-file=/root/restic-excludes.txt \
--tag woechentlichEine Exclude-Datei (/root/restic-excludes.txt) könnte so aussehen:
**/node_modules
**/.cache
**/*.tmp
/home/*/DownloadsWindows
# Benutzerdaten sichern
restic backup C:\Users\Marcel\Documents C:\Users\Marcel\Pictures
# Mit Ausschluss-Muster
restic backup C:\Daten --exclude "*.tmp" --exclude "C:\Daten\temp"Restic zeigt nach dem Lauf an, wie viele Dateien neu, geändert oder unverändert waren und wie viel tatsächlich in das Repository geschrieben wurde. Beim zweiten Lauf wirst du sehen, dass dank Deduplizierung nur die Änderungen übertragen werden.
Schritt 4: rclone-Cloud-Ziel anbinden (S3, Wasabi, Backblaze B2)
Für ein Offsite-Backup kombinierst du Restic mit rclone. So erreichst du nahezu jeden Cloud-Anbieter über ein einheitliches Restic-Backend (restic rclone cloud).
rclone-Remote einrichten
# rclone installieren
sudo apt install rclone # oder: curl https://rclone.org/install.sh | sudo bash
# Interaktive Konfiguration starten und z. B. ein Backblaze-B2- oder S3-Remote anlegen
rclone configNimm im Assistenten beispielsweise den Namen b2backup und wähle Backblaze B2 oder ein S3-kompatibles Ziel (Wasabi, AWS S3, MinIO). Danach nutzt du das Remote als Restic-Repository:
# Repository im Cloud-Bucket initialisieren
export RESTIC_REPOSITORY="rclone:b2backup:mein-bucket/restic"
export RESTIC_PASSWORD_FILE="/root/.restic-pass"
restic init
# Backup direkt in die Cloud
restic backup /home /etcAlternativ kannst du native Backends nutzen, etwa s3:s3.amazonaws.com/mein-bucket oder b2:mein-bucket:restic, indem du die jeweiligen Zugangsschlüssel als Umgebungsvariablen setzt.
Schritt 5: Backups unter Linux mit cron automatisieren
Damit das Backup ohne dein Zutun läuft, legst du ein Skript an und planst es per cron (restic cron job linux).
Backup-Skript anlegen
sudo tee /usr/local/bin/restic-backup.sh > /dev/null << 'EOF'
#!/usr/bin/env bash
set -euo pipefail
export RESTIC_REPOSITORY="rclone:b2backup:mein-bucket/restic"
export RESTIC_PASSWORD_FILE="/root/.restic-pass"
# Backup erstellen
restic backup /etc /home /var/www \
--exclude-file=/root/restic-excludes.txt \
--tag automatisch
# Aufbewahrung: alte Snapshots entfernen und Repository aufraeumen
restic forget \
--keep-daily 7 \
--keep-weekly 4 \
--keep-monthly 6 \
--prune
# Integritaet stichprobenartig pruefen
restic check --read-data-subset=5%
EOF
sudo chmod +x /usr/local/bin/restic-backup.shcron-Eintrag setzen
# Crontab des root-Users bearbeiten
sudo crontab -eFüge eine Zeile hinzu, die das Skript täglich um 02:30 Uhr ausführt und das Log schreibt:
30 2 * * * /usr/local/bin/restic-backup.sh >> /var/log/restic-backup.log 2>&1Wer systemd bevorzugt, kann statt cron auch einen systemd.timer verwenden - der Vorteil ist sauberes Logging über journalctl.
Schritt 6: Backups unter Windows mit der Aufgabenplanung automatisieren
Unter Windows nutzt du ein PowerShell-Skript und die Aufgabenplanung (Task Scheduler).
PowerShell-Skript anlegen
# Datei: C:\Tools\restic\restic-backup.ps1
$env:RESTIC_REPOSITORY = "rclone:b2backup:mein-bucket/restic"
$env:RESTIC_PASSWORD_FILE = "C:\Tools\restic\restic-pass.txt"
restic backup C:\Users\Marcel\Documents C:\Daten --tag automatisch
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
restic check --read-data-subset=5%Lege das Passwort in C:\Tools\restic\restic-pass.txt ab und beschränke die NTFS-Rechte auf den ausführenden Benutzer bzw. SYSTEM.
Geplante Aufgabe per PowerShell registrieren
$action = New-ScheduledTaskAction -Execute "powershell.exe" `
-Argument "-NoProfile -ExecutionPolicy Bypass -File C:\Tools\restic\restic-backup.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At 2:30AM
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
Register-ScheduledTask -TaskName "Restic Backup" `
-Action $action -Trigger $trigger -Principal $principal `
-Description "Taegliches Restic-Backup mit Aufbewahrung"Du kannst die Aufgabe anschließend in der grafischen Aufgabenplanung kontrollieren, manuell starten und das Ergebnis im Verlauf-Tab prüfen.
Schritt 7: Verifikation - Snapshots prüfen und Restore testen
Ein Backup ist nur so gut wie sein letzter erfolgreicher Restore. Teste die Wiederherstellung, bevor du dich darauf verlässt (restic snapshots restore).
Snapshots auflisten
# Alle Snapshots anzeigen
restic snapshots
# Inhalt durchsuchen
restic ls latest
restic find "wichtige-datei.pdf"Wiederherstellen
# Kompletten letzten Snapshot in einen Zielordner zurueckspielen
restic restore latest --target /tmp/restic-restore
# Nur einen bestimmten Pfad wiederherstellen
restic restore latest --target /tmp/restic-restore --include /home/marcel/Documents
# Bestimmten Snapshot ueber Kurz-ID
restic restore 1a2b3c4d --target /tmp/restic-restoreAlternativ kannst du das Repository unter Linux per FUSE einhängen und wie ein normales Verzeichnis durchblättern:
mkdir -p /mnt/restic
restic mount /mnt/restic
# In einem zweiten Terminal: ls /mnt/restic/snapshots/latestPrüfe regelmäßig die Integrität des Repositorys:
restic checkUpdates & Wartung
Halte Restic und rclone aktuell, damit du von Sicherheits- und Performance-Verbesserungen profitierst:
# Restic aktualisieren
sudo restic self-update
# oder ueber den Paketmanager
sudo apt update && sudo apt upgrade resticBehalte die Repository-Größe im Blick und plane regelmäßiges Pruning. Das restic forget --prune aus dem Backup-Skript hält das Repository schlank, indem nicht mehr referenzierte Datenblöcke entfernt werden. Kontrolliere zudem die Aufbewahrungsregeln (--keep-daily, --keep-weekly, --keep-monthly), damit sie zu deinem Speicherbudget passen.
Backup-Hinweis
Vergiss nicht, das Repository-Passwort und - bei rclone - die rclone.conf separat und sicher zu sichern. Beides liegt außerhalb des Restic-Repositorys und ist für den Zugriff unverzichtbar. Bewahre eine Kopie an einem anderen Ort als die Backups selbst auf. Wer Backups als festen Bestandteil einer Selfhosting-Umgebung betreiben möchte, findet in unserer Anleitung zur Docker-Compose-Grundlage für Selfhosting unter Linux eine passende Basis, um Restic-Backups containerbasiert einzuplanen.
Troubleshooting
- "repository is already locked": Ein vorheriger Lauf wurde abgebrochen. Prüfe mit
restic list locksund entferne veraltete Sperren mitrestic unlock, sofern kein anderer Prozess läuft. - "wrong password or no key found": Repository-Pfad oder Passwort/Passwortdatei stimmen nicht. Kontrolliere
RESTIC_REPOSITORYundRESTIC_PASSWORD_FILE. - cron-Job läuft nicht: In cron fehlt oft die PATH-Umgebung. Verwende absolute Pfade (z. B.
/usr/bin/restic) und setze die Umgebungsvariablen direkt im Skript. - Windows-Aufgabe scheitert lautlos: Stelle die Aufgabe auf "Unabhängig von der Benutzeranmeldung ausführen" und prüfe den Verlauf. Bei rclone muss die
rclone.conffür den ausführenden Kontext (SYSTEM) auffindbar sein. - Backup sehr langsam in die Cloud: Erhöhe die Parallelität mit
--option rclone.connections=8und prüfe deine Upload-Bandbreite. - Repository wächst trotz forget:
restic forgetmarkiert Snapshots nur; erst--prunegibt den Speicher tatsächlich frei.
Häufige Fragen
Wie sicher ist die Verschlüsselung von Restic?
Restic verschlüsselt sämtliche Daten clientseitig mit AES-256 im Counter-Modus und sichert die Integrität über Poly1305-AES. Selbst der Cloud-Anbieter sieht nur verschlüsselte Blöcke. Entscheidend ist allein dein Repository-Passwort - es verlässt deinen Rechner nie.
Kann ich mit Restic Linux und Windows in dasselbe Repository sichern?
Ja. Restic unterstützt mehrere Hosts in einem Repository, und die Deduplizierung wirkt sogar host-übergreifend. Jeder Snapshot wird mit Hostname und Pfaden versehen, sodass du Quellen sauber auseinanderhalten kannst. Achte nur darauf, dass nicht zwei Läufe gleichzeitig schreiben.
Wie automatisiere ich Restic-Backups am einfachsten?
Unter Linux legst du ein Skript an und rufst es per cron oder systemd-Timer auf; unter Windows nutzt du ein PowerShell-Skript zusammen mit der Aufgabenplanung. Lege Backup, forget --prune und einen check ins selbe Skript, damit Sicherung und Wartung in einem Rutsch laufen.
Was bedeutet --keep-daily, --keep-weekly und --keep-monthly?
Diese Optionen von restic forget steuern die Aufbewahrung: Restic behält die jeweils neuesten Snapshots pro Tag, Woche und Monat und löscht den Rest. So bleibt eine sinnvolle Historie erhalten, ohne dass das Repository unbegrenzt wächst.
Brauche ich zwingend rclone für Cloud-Backups?
Nein. Restic bringt native Backends für S3-kompatible Speicher, Backblaze B2, Azure, Google Cloud Storage, SFTP und REST mit. rclone ist nur dann sinnvoll, wenn du einen Anbieter ohne natives Backend nutzen oder ein einheitliches Interface über viele Clouds hinweg haben möchtest.
Fazit
Du hast jetzt ein vollständiges, verschlüsseltes Restic-Setup, das unter Linux per cron und unter Windows per Aufgabenplanung automatisch läuft. Dank Deduplizierung und Kompression bleibt das Repository kompakt, ein rclone-Cloud-Ziel sorgt für Offsite-Sicherheit, und die Aufbewahrungsregeln halten alles aufgeräumt. Der wichtigste Schritt bleibt der regelmäßige Restore-Test - nur so weißt du sicher, dass deine Backups im Ernstfall funktionieren. Plane dir einen festen Termin, um restic restore und restic check auszuführen.
Weiterführende Anleitungen und Quellen
Wenn du dich tiefer mit Backup- und Selfhosting-Themen beschäftigen willst, findest du in unserer Kategorie Backup weitere Beiträge. Eine solide Container-Basis für automatisierte Sicherungen liefert dir unsere Anleitung zur Docker-Compose-Grundlage für Selfhosting unter Linux.
Quellen: Offizielle Restic-Dokumentation und das rclone-Projekt - siehe die unten verlinkten Originalquellen für vollständige Optionslisten und weiterführende Details.