Restic Backup auf Linux und Windows einrichten und automatisieren (cron/Task Scheduler)
Restic-Backup einrichten: verschlüsselte, deduplizierte Sicherungen unter Linux und Windows per cron und Aufgabenplanung automatisieren, mit rclone-Cloud-Ziel und getestetem Restore.
Geprüft am 29.09.2026 · für restic 0.19.1
WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Diese Anleitung zeigt, wie Sie ein Restic Backup einrichten und automatisieren: unter Linux per cron, unter Windows per Aufgabenplanung, lokal und zusätzlich in der Cloud über rclone (S3, Wasabi, Backblaze B2). Am Ende läuft das Backup im Hintergrund, alte Snapshots werden nach einer Aufbewahrungsregel bereinigt, und Sie haben den Restore mindestens einmal getestet.
Was ist Restic und warum sollten Sie es nutzen?
Restic ist ein freies Backup-Programm (BSD-2-Lizenz) in Go, ausgeliefert als einzelne Binärdatei für Linux, Windows, macOS und BSD. Es speichert Daten in einem Repository: lokaler Ordner, externe Festplatte, SFTP-Server oder Cloud-Speicher. Drei Eigenschaften:
- Verschlüsselung standardmäßig aktiv: Alle Daten werden vor dem Schreiben mit AES-256 verschlüsselt und mit Poly1305-AES authentifiziert.
- Deduplizierung: Restic zerlegt Dateien in variable Blöcke und speichert identische Blöcke nur einmal, auch über mehrere Hosts und Snapshots hinweg.
- Kompression: Seit Restic 0.14 werden Daten zusätzlich komprimiert (Standard
auto, ab Repository-Format 2), was das Repository weiter verkleinert.
Jeder Lauf erzeugt einen Snapshot, eine unveränderliche Momentaufnahme, die sich einzeln wiederherstellen, durchsuchen oder einhängen lässt; eine solide 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, x86-64 oder ARM64. 1 CPU-Kern und 1 GB RAM reichen für kleine Datenmengen; bei mehreren hunderttausend Dateien oder großen Repositorys 2 GB RAM oder mehr, weil Restic den Index im Speicher hält.
- Administrator- bzw. root/sudo-Rechte zum Installieren und zum Anlegen geplanter Aufgaben
- Ein Backup-Ziel: lokaler Pfad, externe Platte, NAS, SFTP-Server oder Cloud-Konto (Backblaze B2, Wasabi, AWS S3, S3-kompatibel). Die erste Sicherung belegt etwa die Größe der Quelldaten, Folgesicherungen dank Deduplizierung nur die Änderungen.
- Optional
rclonefür die Cloud-Anbindung (für nahezu jeden Cloud-Provider) - Ein starkes, sicher hinterlegtes Repository-Passwort – ohne dieses Passwort sind Ihre Backups unwiederbringlich verloren
Schritt 1: Restic installieren
Restic ist in praktisch jeder Distribution paketiert, die Pakete hinken aber oft hinterher; die aktuelle Version gibt es als Binärdatei auf 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)
# Offizielle Binärdatei laden (Version und Architektur anpassen, z. B. arm64)
curl -LO https://github.com/restic/restic/releases/download/v0.19.1/restic_0.19.1_linux_amd64.bz2
bunzip2 restic_0.19.1_linux_amd64.bz2
sudo install -m 755 restic_0.19.1_linux_amd64 /usr/local/bin/restic
# Spätere Updates der offiziellen Binärdatei
sudo restic self-update
# Version prüfen
restic versionrestic self-update funktioniert nur mit den offiziellen Binärdateien. Distributionspakete aktualisieren Sie über den Paketmanager.
Windows
Unter Windows installieren Sie Restic über WinGet oder Scoop, alternativ die .exe aus den GitHub-Releases in einen Ordner im PATH (z. B. C:\Tools\restic). Bei WinGet empfiehlt das Projekt --scope Machine, damit die Aufgabenplanung unter SYSTEM das Programm findet.
# Mit WinGet (systemweit, benötigt Administratorrechte)
winget install --exact --id restic.restic --scope Machine
# Oder mit Scoop
scoop install restic
# Version prüfen
restic versionVerifizieren: restic version gibt auf jedem System eine Versionsnummer aus (aktuell 0.19.x); unter Linux zeigt command -v restic den Pfad, unter Windows Get-Command restic.
Schritt 2: Restic Repository initialisieren
Beim Anlegen des Repositorys legen Sie das Verschlüsselungspasswort fest. Umgebungsvariablen ersparen die Wiederholung von Passwort und Pfad bei jedem Befehl.
Lokales oder externes Ziel (Linux)
# Repository-Pfad und Passwort als Umgebungsvariablen setzen
export RESTIC_REPOSITORY="/mnt/backup/restic-repo"
export RESTIC_PASSWORD="SehrStarkesPasswort"
# Repository initialisieren (restic repository initialisieren)
restic initSicherer als RESTIC_PASSWORD ist eine Passwortdatei mit eingeschränkten Rechten:
echo "SehrStarkesPasswort" | 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 = "SehrStarkesPasswort"
restic initNotieren Sie sich das Passwort an einem sicheren Ort (Passwort-Manager). Geht es verloren, können Sie auf KEINEN Ihrer Snapshots mehr zugreifen.
Verifizieren: restic init meldet „created restic repository … at …“, und restic cat config gibt ohne Passwortfehler die Repository-Konfiguration mit "version": 2 aus.
Schritt 3: Das erste Backup erstellen
Erstellen Sie den ersten Snapshot mit den zu sichernden Verzeichnissen:
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 meldet danach neue, geänderte und unveränderte Dateien sowie die geschriebene Datenmenge. Beim zweiten Lauf werden dank Deduplizierung nur die Änderungen übertragen.
Verifizieren: restic snapshots listet den neuen Snapshot mit Datum, Hostname und den gesicherten Pfaden, und ein zweiter restic backup-Lauf meldet bei „Added to the repository“ nur wenige Bytes.
Schritt 4: rclone-Cloud-Ziel anbinden (S3, Wasabi, Backblaze B2)
Für ein Offsite-Backup kombinieren Sie Restic mit rclone und erreichen so nahezu jeden Cloud-Anbieter.
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 configVergeben Sie im Assistenten z. B. den Namen b2backup und wählen Sie Backblaze B2 oder ein S3-kompatibles Ziel (Wasabi, AWS S3, MinIO). Dann nutzen Sie das Remote als 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 können Sie native Backends nutzen, etwa s3:s3.amazonaws.com/mein-bucket oder b2:mein-bucket:restic, indem Sie die jeweiligen Zugangsschlüssel als Umgebungsvariablen setzen.
Verifizieren: rclone lsd b2backup: zeigt Ihren Bucket, und nach restic init liegen unter rclone ls b2backup:mein-bucket/restic die Dateien config und keys/….
Schritt 5: Backups unter Linux mit cron automatisieren
Legen Sie ein Skript an und planen Sie es per cron. Den Aufbau von cron-Zeitangaben erklärt Cron und crontab: Grundlagen unter 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 aufräumen
restic forget \
--keep-daily 7 \
--keep-weekly 4 \
--keep-monthly 6 \
--prune
# Integrität stichprobenartig prüfen
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 -eDiese Zeile führt das Skript täglich um 02:30 Uhr aus und schreibt das Log:
30 2 * * * /usr/local/bin/restic-backup.sh >> /var/log/restic-backup.log 2>&1Alternativ zu cron eignet sich ein systemd.timer mit sauberem Logging über journalctl.
Verifizieren: sudo crontab -l zeigt den Eintrag, ein manueller Lauf von sudo /usr/local/bin/restic-backup.sh endet ohne Fehler, und nach der nächsten Nacht enthält /var/log/restic-backup.log einen Abschnitt „snapshot … saved“.
Schritt 6: Backups unter Windows mit der Aufgabenplanung automatisieren
Unter Windows nutzen Sie 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%Legen Sie das Passwort in C:\Tools\restic\restic-pass.txt ab und beschränken Sie 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 "Tägliches Restic-Backup mit Aufbewahrung"In der grafischen Aufgabenplanung können Sie die Aufgabe kontrollieren, manuell starten und im Verlauf-Tab prüfen.
Verifizieren: Nach Start-ScheduledTask -TaskName "Restic Backup" zeigt Get-ScheduledTaskInfo -TaskName "Restic Backup" bei LastTaskResult den Wert 0, und restic snapshots enthält einen neuen Snapshot mit dem Tag automatisch.
Schritt 7: Verifikation – Snapshots prüfen und Restore testen
Testen Sie die Wiederherstellung, bevor Sie sich auf das Backup verlassen.
Snapshots auflisten
# Alle Snapshots anzeigen
restic snapshots
# Inhalt durchsuchen
restic ls latest
restic find "wichtige-datei.pdf"Wiederherstellen
# Kompletten letzten Snapshot in einen Zielordner zurückspielen
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 über Kurz-ID
restic restore 1a2b3c4d --target /tmp/restic-restoreAlternativ können Sie 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üfen Sie regelmäßig die Integrität des Repositorys:
restic checkVerifizieren: Die zurückgespielten Dateien unter /tmp/restic-restore lassen sich öffnen, diff -r gegen das Original zeigt nur seither geänderte Dateien, und restic check endet mit „no errors were found“.
Updates & Wartung
Halten Sie Restic und rclone aktuell, damit Sie von Sicherheits- und Performance-Verbesserungen profitieren:
# Restic aktualisieren
sudo restic self-update
# oder über den Paketmanager
sudo apt update && sudo apt upgrade resticBehalten Sie die Repository-Größe im Blick. restic forget --prune im Skript entfernt nicht mehr referenzierte Datenblöcke. Passen Sie die Aufbewahrungsregeln (--keep-daily, --keep-weekly, --keep-monthly) an Ihren Speicher an.
Backup-Hinweis
Vergessen Sie 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. Bewahren Sie 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. Wer Restic lieber per Weboberfläche plant, nutzt Backrest mit Docker Compose.
Troubleshooting
- „repository is already locked“: Ein vorheriger Lauf wurde abgebrochen. Prüfen Sie mit
restic list locksund entfernen Sie veraltete Sperren mitrestic unlock, sofern kein anderer Prozess läuft. - „wrong password or no key found“: Repository-Pfad oder Passwort/Passwortdatei stimmen nicht. Kontrollieren Sie
RESTIC_REPOSITORYundRESTIC_PASSWORD_FILE. - cron-Job läuft nicht: In cron fehlt oft die PATH-Umgebung. Verwenden Sie absolute Pfade (z. B.
/usr/bin/resticoder/usr/local/bin/restic) und setzen Sie die Umgebungsvariablen direkt im Skript. - Windows-Aufgabe scheitert lautlos: Aufgabe auf „Unabhängig von der Benutzeranmeldung ausführen“ stellen, Verlauf prüfen. Findet SYSTEM
resticnicht, war es nur für den Benutzer installiert (WinGet ohne--scope Machine). Dierclone.confmuss für SYSTEM auffindbar sein. - Backup sehr langsam in die Cloud: Erhöhen Sie die Parallelität mit
--option rclone.connections=8und prüfen Sie Ihre Upload-Bandbreite. - Repository wächst trotz forget:
restic forgetentfernt nur die Snapshot-Einträge; erst--prunebzw.restic prunegibt den Speicher tatsächlich frei.
Häufige Fragen
Wie sicher ist die Verschlüsselung von Restic?
Restic verschlüsselt alle Daten clientseitig mit AES-256 im Counter-Modus und sichert die Integrität über Poly1305-AES; der Cloud-Anbieter sieht nur verschlüsselte Blöcke. Das Repository-Passwort verlässt Ihren Rechner nie.
Kann ich mit Restic Linux und Windows in dasselbe Repository sichern?
Ja, auch mit host-übergreifender Deduplizierung. Snapshots tragen Hostname und Pfade. Mehrere Backups dürfen gleichzeitig laufen; prune braucht eine exklusive Sperre, planen Sie es zeitversetzt.
Wie automatisiere ich Restic-Backups am einfachsten?
Per Skript mit cron oder systemd-Timer (Linux) bzw. PowerShell-Skript mit Aufgabenplanung (Windows). Backup, forget --prune und check gehören ins selbe Skript.
Was bedeutet --keep-daily, --keep-weekly und --keep-monthly?
Diese Optionen von restic forget behalten die jeweils neuesten Snapshots pro Tag, Woche und Monat und löschen den Rest, damit das Repository nicht unbegrenzt wächst.
Brauche ich zwingend rclone für Cloud-Backups?
Nein. Restic hat native Backends für S3-kompatible Speicher, Backblaze B2, Azure, Google Cloud Storage, SFTP und REST. rclone lohnt sich für Anbieter ohne natives Backend oder als einheitliches Interface über viele Clouds.
Fazit
Wichtigster Schritt bleibt der regelmäßige Restore-Test: Planen Sie einen festen Termin für restic restore und restic check. Wie daraus eine Routine wird, zeigt Backup-Restore-Test als feste Routine etablieren.
Weiterführende Anleitungen und Quellen
Wenn Sie sich tiefer mit Backup- und Selfhosting-Themen beschäftigen wollen, finden Sie in unserer Kategorie Backup weitere Beiträge. Eine solide Container-Basis für automatisierte Sicherungen liefert unsere Anleitung zur Docker-Compose-Grundlage für Selfhosting unter Linux.
Quellen: Offizielle Restic-Dokumentation, Restic-Installation, Restic-Releases auf GitHub und die rclone-Dokumentation.


