rdiff-backup — Inkrementelle Backups mit Versionshistorie

Praxis-Guide zu rdiff-backup: Mirror plus rückwärtige Diffs für inkrementelle Backups mit Versionshistorie, lokal oder per SSH.

rdiff-backup verbindet zwei Backup-Welten in einem Werkzeug: Am Ziel liegt ein vollständiger Spiegel deines letzten Stands, während ältere Versionen platzsparend als rückwärtige Diffs daneben gespeichert werden. So greifst du auf das jüngste Backup wie auf eine normale Dateikopie zu und kannst trotzdem jederzeit auf einen früheren Zeitpunkt zurückgehen. Sicherungen laufen lokal oder per SSH auf einen entfernten Server – dieser Guide zeigt dir die wichtigsten Befehle vom ersten Backup bis zur gezielten Wiederherstellung einzelner Dateien.

Backups erstellen

rdiff-backup <source> <target> — Sichert ein Verzeichnis (Mirror + inkrementelle Diffs).

rdiff-backup /home/user /backup/home

rdiff-backup <source> <user>@<host>::<path> — Sichert per SSH auf einen entfernten Server.

rdiff-backup /var/www admin@backup-server::/backup/www

rdiff-backup <user>@<host>::<path> <local> — Sichert von einem entfernten Server nach lokal.

rdiff-backup admin@server::/var/www /backup/www

rdiff-backup --include '<pattern>' --exclude '**' <source> <target> — Sichert nur bestimmte Verzeichnisse oder Dateien.

rdiff-backup --include '/home/user/Documents' --include '/home/user/.config' --exclude '**' /home/user /backup/selective

rdiff-backup --exclude '<pattern>' <source> <target> — Schließt Dateien oder Verzeichnisse von der Sicherung aus.

rdiff-backup --exclude '**/node_modules' --exclude '**/.cache' /home/user /backup/home

Wiederherstellen

rdiff-backup --restore-as-of now <backup> <dest> — Stellt die neueste Version wieder her.

rdiff-backup --restore-as-of now /backup/home /tmp/restore

rdiff-backup --restore-as-of <time> <backup> <dest> — Stellt einen bestimmten Zeitpunkt wieder her.

rdiff-backup --restore-as-of 3D /backup/home /tmp/restore

rdiff-backup --restore-as-of <time> <backup>/<file> <dest> — Stellt eine einzelne Datei oder ein Verzeichnis wieder her.

rdiff-backup --restore-as-of 2D /backup/home/Documents/report.pdf /tmp/report.pdf

rdiff-backup --restore-as-of '2026-03-15' <backup> <dest> — Stellt den Stand eines bestimmten Datums wieder her.

rdiff-backup --restore-as-of '2026-03-15' /backup/www /tmp/www-restore

Zeitformate

now — Aktuelle Zeit (neuestes Backup).

--restore-as-of now

<n>s / <n>m / <n>h / <n>D / <n>W / <n>M / <n>Y — Relative Zeit: Sekunden, Minuten, Stunden, Tage, Wochen, Monate, Jahre zurück.

--restore-as-of 3D (3 days ago)

YYYY-MM-DD — Absolutes Datum.

--restore-as-of 2026-01-15

YYYY-MM-DDTHH:MM:SS — Absolutes Datum mit Uhrzeit.

--restore-as-of 2026-01-15T14:30:00

Info & Status

rdiff-backup --list-increments <backup> — Listet alle verfügbaren Backup-Inkremente (Wiederherstellungspunkte) auf.

rdiff-backup --list-increments /backup/home

rdiff-backup --list-increment-sizes <backup> — Listet Inkremente samt ihrer Größe auf.

rdiff-backup --list-increment-sizes /backup/home

rdiff-backup --list-at-time <time> <backup> — Listet Dateien so auf, wie sie zu einem bestimmten Zeitpunkt waren.

rdiff-backup --list-at-time 7D /backup/home

rdiff-backup --list-changed-since <time> <backup> — Listet Dateien auf, die sich seit einem bestimmten Zeitpunkt geändert haben.

rdiff-backup --list-changed-since 1D /backup/home

rdiff-backup --compare <source> <backup> — Vergleicht Quelle mit Backup und zeigt die Unterschiede.

rdiff-backup --compare /home/user /backup/home

rdiff-backup --compare-at-time <time> <source> <backup> — Vergleicht Quelle mit dem Backup zu einem bestimmten Zeitpunkt.

rdiff-backup --compare-at-time 1D /home/user /backup/home

Aufräumen & Wartung

rdiff-backup --remove-older-than <time> <backup> — Entfernt Inkremente, die älter als die angegebene Zeit sind. Destruktiv – gelöschte ältere Stände lassen sich nicht mehr wiederherstellen.

rdiff-backup --remove-older-than 90D /backup/home

rdiff-backup --remove-older-than <n>B <backup> — Behält nur die letzten N Backups (auch dies löscht ältere Stände endgültig).

rdiff-backup --remove-older-than 5B /backup/home

rdiff-backup --verify <backup> — Prüft die Integrität des Backup-Repositorys.

rdiff-backup --verify /backup/home

rdiff-backup --force --remove-older-than <time> <backup> — Erzwingt die Entfernung, auch wenn dabei alle Inkremente gelöscht werden – mit Bedacht einsetzen.

rdiff-backup --force --remove-older-than 30D /backup/home

Häufige Muster

rdiff-backup --exclude-globbing-filelist <file> <source> <target> — Nutzt eine Datei mit Include-/Exclude-Mustern.

rdiff-backup --exclude-globbing-filelist patterns.txt /home/user /backup/home

rdiff-backup --print-statistics <source> <target> — Zeigt nach dem Backup detaillierte Transfer-Statistiken.

rdiff-backup --print-statistics /home/user /backup/home

rdiff-backup -v5 <source> <target> — Läuft mit ausführlicher Ausgabe (Level 0–9).

rdiff-backup -v5 /home/user /backup/home

rdiff-backup --remote-schema 'ssh -p <port> %s rdiff-backup --server' <source> <user>@<host>::<path> — Nutzt einen eigenen SSH-Port für die entfernte Sicherung.

rdiff-backup --remote-schema 'ssh -p 2222 %s rdiff-backup --server' /data admin@server::/backup/data

Fazit

rdiff-backup ist ideal, wenn du den schnellen Zugriff eines Spiegels mit der Sicherheit einer Versionshistorie kombinieren willst, ohne ein komplettes Backup-System aufzusetzen. Plane regelmäßiges Aufräumen mit --remove-older-than ein, damit die Inkremente nicht unbegrenzt wachsen – und denke daran, dass dieser Schritt ältere Stände unwiderruflich löscht. Prüfe deine Sicherungen mit --verify, bevor du dich im Ernstfall auf sie verlässt.

Verwandte Kommandos

  • borgbackup – deduplizierende, komprimierte und verschlüsselte Backups
  • duplicity – verschlüsselte inkrementelle Backups, auch in die Cloud
  • rclone – synchronisiert Dateien mit Cloud-Speichern und zwischen Systemen