Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Backup & Datensicherung 01.06.2026 · 9 min Lesezeit

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

Externe Festplatte per Kabel an einem zugeklappten Laptop, dahinter eine NAS mit vier Laufwerksschächten auf einem Schreibtisch

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:

  1. Verschlüsselung standardmäßig aktiv: Alle Daten werden vor dem Schreiben mit AES-256 verschlüsselt und mit Poly1305-AES authentifiziert.
  2. Deduplizierung: Restic zerlegt Dateien in variable Blöcke und speichert identische Blöcke nur einmal, auch über mehrere Hosts und Snapshots hinweg.
  3. 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

  1. 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.
  2. Administrator- bzw. root/sudo-Rechte zum Installieren und zum Anlegen geplanter Aufgaben
  3. 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.
  4. Optional rclone für die Cloud-Anbindung (für nahezu jeden Cloud-Provider)
  5. 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 restic

Linux (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 version

restic 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 version

Verifizieren: 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 init

Sicherer 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 init

Windows (PowerShell)

# Repository auf externer Platte E: anlegen
$env:RESTIC_REPOSITORY = "E:\restic-repo"
$env:RESTIC_PASSWORD   = "SehrStarkesPasswort"

restic init
Notieren 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 woechentlich

Eine Exclude-Datei (/root/restic-excludes.txt) könnte so aussehen:

**/node_modules
**/.cache
**/*.tmp
/home/*/Downloads

Windows

# 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 config

Vergeben 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 /etc

Alternativ 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.sh

cron-Eintrag setzen

# Crontab des root-Users bearbeiten
sudo crontab -e

Diese 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>&1

Alternativ 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-restore

Alternativ 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/latest

Prüfen Sie regelmäßig die Integrität des Repositorys:

restic check

Verifizieren: 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 restic

Behalten 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

  1. „repository is already locked“: Ein vorheriger Lauf wurde abgebrochen. Prüfen Sie mit restic list locks und entfernen Sie veraltete Sperren mit restic unlock, sofern kein anderer Prozess läuft.
  2. „wrong password or no key found“: Repository-Pfad oder Passwort/Passwortdatei stimmen nicht. Kontrollieren Sie RESTIC_REPOSITORY und RESTIC_PASSWORD_FILE.
  3. cron-Job läuft nicht: In cron fehlt oft die PATH-Umgebung. Verwenden Sie absolute Pfade (z. B. /usr/bin/restic oder /usr/local/bin/restic) und setzen Sie die Umgebungsvariablen direkt im Skript.
  4. Windows-Aufgabe scheitert lautlos: Aufgabe auf „Unabhängig von der Benutzeranmeldung ausführen“ stellen, Verlauf prüfen. Findet SYSTEM restic nicht, war es nur für den Benutzer installiert (WinGet ohne --scope Machine). Die rclone.conf muss für SYSTEM auffindbar sein.
  5. Backup sehr langsam in die Cloud: Erhöhen Sie die Parallelität mit --option rclone.connections=8 und prüfen Sie Ihre Upload-Bandbreite.
  6. Repository wächst trotz forget: restic forget entfernt nur die Snapshot-Einträge; erst --prune bzw. restic prune gibt 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.