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

Source: https://www.jpkc.com/db/cheatsheets/backup-sync/rdiff-backup/

<!-- PROSE:intro -->
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.
<!-- PROSE:intro:end -->

## Backups erstellen

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

```bash
rdiff-backup /home/user /backup/home
```

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

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

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

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

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

```bash
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.

```bash
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.

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

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

```bash
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.

```bash
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.

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

## Zeitformate

`now` — Aktuelle Zeit (neuestes Backup).

```bash
--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.

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

`YYYY-MM-DD` — Absolutes Datum.

```bash
--restore-as-of 2026-01-15
```

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

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

## Info & Status

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

```bash
rdiff-backup --list-increments /backup/home
```

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

```bash
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.

```bash
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.

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

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

```bash
rdiff-backup --compare /home/user /backup/home
```

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

```bash
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.

```bash
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).

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

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

```bash
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.

```bash
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.

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

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

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

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

```bash
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.

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

<!-- PROSE:outro -->
## 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.

## Weiterführende Links

- [rdiff-backup – offizielle Projektseite](https://rdiff-backup.net/) – Dokumentation, Handbuch und Downloads (englisch)
- [rdiff-backup auf GitHub](https://github.com/rdiff-backup/rdiff-backup) – Quellcode, Issues und Release-Notes (englisch)
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [borgbackup](https://www.jpkc.com/db/cheatsheets/backup-sync/borgbackup/) – deduplizierende, komprimierte und verschlüsselte Backups
- [duplicity](https://www.jpkc.com/db/cheatsheets/backup-sync/duplicity/) – verschlüsselte inkrementelle Backups, auch in die Cloud
- [rclone](https://www.jpkc.com/db/cheatsheets/backup-sync/rclone/) – synchronisiert Dateien mit Cloud-Speichern und zwischen Systemen

