Backups mit rsync erstellen unter Linux – Anleitung

Für Backups unter Linux gibt es ein Werkzeug, das kaum zu schlagen ist: rsync. Es überträgt nur geänderte Daten, arbeitet lokal wie über das Netzwerk und ist blitzschnell. In dieser Anleitung lernst du, wie du mit rsync Backups erstellst – lokal, über SSH und automatisiert per Cron.

Für Backups unter Linux gibt es kaum ein Werkzeug, das rsync das Wasser reichen kann. Es überträgt nur die tatsächlich geänderten Teile einer Datei, arbeitet lokal wie über das Netzwerk und ist dabei erstaunlich schnell und sparsam. Ob du Verzeichnisse spiegelst, ein inkrementelles Backup über SSH auf einen entfernten Server schiebst oder das Ganze per Cron automatisierst – rsync ist die richtige Wahl. In dieser Anleitung lernst du nicht nur die Grundbefehle, sondern auch platzsparende Snapshot-Backups, den sicheren Umgang mit der gefürchteten --delete-Option und wie du eine Sicherung wiederherstellst.

Warum rsync?

rsync kopiert bei wiederholten Läufen nur die Unterschiede statt alles neu. Das spart enorm Zeit und Bandbreite und macht es ideal für regelmäßige Sicherungen – auch auf einen entfernten Server.


Ein lokales Backup

Die Grundform kopiert ein Quellverzeichnis in ein Ziel. Die Optionen -a (Archivmodus, erhält Rechte und Zeitstempel) und -v (ausführlich) gehören fast immer dazu:

rsync -av /home/tobias/ /mnt/backup/tobias/

Wichtig: Der abschließende Schrägstrich beim Quellpfad bedeutet „der Inhalt des Ordners“. Ohne ihn würde der Ordner selbst ins Ziel gelegt. Als Ziel eignet sich eine eingebundene Festplatte.


Ein Backup über SSH

rsync sichert genauso einfach auf einen entfernten Server. Dazu gibst du Benutzer und Host mit an – die Übertragung läuft verschlüsselt über SSH:

rsync -av -e ssh /home/tobias/ tobias@server:/mnt/backup/

Am komfortabelsten ist das mit einem hinterlegten SSH-Key, dann fragt rsync nicht nach einem Passwort.


Wichtige Optionen

OptionWirkung
-aArchivmodus (Rechte, Zeiten, Symlinks erhalten)
--deleteIm Ziel löschen, was in der Quelle fehlt (echte Spiegelung)
--excludeBestimmte Dateien/Ordner ausschließen
-n / --dry-runTestlauf, ohne etwas zu ändern
-zDaten während der Übertragung komprimieren

Ein Tipp: Teste jeden neuen Befehl zuerst mit --dry-run, besonders in Kombination mit --delete.


Backups automatisieren

Sein volles Potenzial entfaltet rsync als geplanter Job. Verpacke den Befehl in ein Bash-Skript und lass es per Cronjob regelmäßig laufen – etwa jede Nacht:

0 2 * * * /home/tobias/scripts/backup.sh >> /var/log/backup.log 2>&1

Platzsparende Snapshots mit –link-dest

Ein reines Spiegeln überschreibt beim nächsten Lauf die vorherige Sicherung – du hast dann immer nur den aktuellen Stand. Deutlich mächtiger sind inkrementelle Snapshots: Mit der Option --link-dest verweist rsync auf das letzte Backup und legt für unveränderte Dateien nur einen Hardlink an, statt sie erneut zu kopieren.

Das Ergebnis fühlt sich an wie viele vollständige Backups, belegt aber nur den Platz der jeweils geänderten Dateien. So kannst du täglich sichern und trotzdem tagelang zurückgehen, ohne dass der Speicher explodiert. In Kombination mit datierten Zielordnern entsteht so eine saubere Backup-Historie.

  • Wenig Speicher: gleiche Dateien liegen nur einmal physisch vor.
  • Volle Snapshots: jeder Ordner wirkt wie ein komplettes Backup.
  • Schnelle Wiederherstellung: einfach aus dem gewünschten Datumsordner kopieren.

Sicher ausschließen und löschen

Zwei Optionen entscheiden über Erfolg oder Katastrophe. Mit --exclude hältst du unnötige oder heikle Verzeichnisse aus dem Backup heraus, etwa Caches oder temporäre Dateien. Mit --delete entfernt rsync im Ziel alles, was in der Quelle nicht mehr existiert – das hält den Spiegel sauber, kann aber auch Daten unwiderruflich löschen.

Deshalb gilt: Teste jeden neuen --delete-Befehl zuerst mit --dry-run. Dieser Testlauf zeigt genau, was passieren würde, ohne etwas zu verändern. Erst wenn die Ausgabe stimmt, lässt du den echten Lauf folgen. Das kostet Sekunden und rettet im Ernstfall dein ganzes Archiv.

Backups prüfen und wiederherstellen

Ein Backup, das noch nie zurückgespielt wurde, ist nur eine Hoffnung. Die Wiederherstellung mit rsync ist zum Glück einfach: Du drehst schlicht Quelle und Ziel um und kopierst die gewünschten Dateien aus dem Backup zurück. Genauso wichtig ist es, die Sicherung regelmäßig auf Vollständigkeit zu prüfen.

Halte dich außerdem an die bewährte 3-2-1-Regel: drei Kopien deiner Daten, auf zwei verschiedenen Medien, davon eine außer Haus. rsync deckt die Übertragung ab, um die Zeitsteuerung kümmert sich am besten ein automatisierter Ablauf per Cron oder systemd-Timer.

Übertragung über das Netzwerk optimieren

Sicherst du über eine langsame oder geteilte Internetleitung, helfen ein paar Optionen, die Übertragung ressourcenschonend zu halten. So vermeidest du, dass ein nächtliches Backup die Leitung für andere Dienste blockiert oder mitten in der Übertragung abbricht.

OptionWirkung
-zkomprimiert die Daten während der Übertragung
--bwlimit=5000begrenzt die Bandbreite (hier auf ca. 5 MB/s)
--partialbehält Teilübertragungen, um nach Abbruch fortzusetzen
-Pzeigt Fortschritt und aktiviert --partial

Gerade das Kombinieren von --partial mit einem erneuten Aufruf macht rsync robust: Bricht die Verbindung ab, setzt der nächste Lauf dort fort, wo er aufgehört hat, statt alles neu zu übertragen. Für regelmäßige, große Sicherungen ist das Gold wert. Bedenke aber, dass sich die Kompression per -z bei bereits komprimierten Dateien wie Videos oder Archiven kaum lohnt und dann nur unnötig CPU kostet.

Häufige Fragen

Rund um Backups mit rsync gibt es einige wichtige Fragen. Diese Antworten schaffen Klarheit.

Was genau macht die Option –delete?

Sie löscht im Zielverzeichnis alle Dateien, die in der Quelle nicht mehr vorhanden sind, und hält das Backup so als exakten Spiegel. Das ist gewollt, wenn du eine 1:1-Kopie willst – gefährlich, wenn die Quelle versehentlich leer oder falsch ist. Immer vorher mit --dry-run testen.

Wie schließe ich einzelne Ordner vom Backup aus?

Nutze eine oder mehrere --exclude-Angaben, zum Beispiel --exclude='*.tmp' oder --exclude=cache/. Bei vielen Ausnahmen ist eine Ausschlussdatei über --exclude-from=liste.txt übersichtlicher.

Warum rsync statt cp oder tar?

Im Gegensatz zu cp überträgt rsync nur die Unterschiede und kann Übertragungen fortsetzen. Gegenüber tar punktet es damit, dass es direkt über SSH auf entfernte Ziele synchronisiert und einzelne Dateien gezielt aktualisiert, statt jedes Mal ein komplettes Archiv zu schreiben.


Fazit

rsync ist das Schweizer Taschenmesser für Backups: schnell, sparsam und über SSH auch entfernt. Mit -av, gezielten --exclude-Regeln und einem --dry-run vorab bist du auf der sicheren Seite. Automatisiert per Cron sorgt rsync für regelmäßige Sicherungen ganz ohne dein Zutun.

Siehe auch  Proxmox RAW Disk verkleinern - qemu-img resize
Nach oben scrollen