rsync uebertraegt nur geaenderte Teile von Dateien mithilfe eines Delta-Algorithmus, was das Datenvolumen bei wiederholten Backups drastisch reduziert. Im Vergleich zu einfachem cp oder scp spart es Zeit und Bandbreite, da es Block-Checksummen vergleicht und nur Unterschiede uebertraegt. Es bildet die Grundlage der meisten Backup-Strategien unter Linux.
Grundlagen¶
rsync -avz /src/ user@server:/dest/
# -a Archiv (rekursiv, bewahrt Berechtigungen, Zeitstempel, Symlinks)
# -v ausfuehrlich, -z Kompression waehrend der Uebertragung
# --delete entfernt Dateien im Ziel, die in der Quelle nicht vorhanden sind
Wichtig: Der abschliessende Schraegstrich beim Quellverzeichnis bestimmt, ob der Verzeichnisinhalt oder das Verzeichnis selbst kopiert wird. /src/ kopiert den Inhalt, /src kopiert das gesamte Verzeichnis ins Ziel.
Inkrementelle Backups¶
#!/bin/bash
DATE=$(date +%Y-%m-%d)
rsync -av --delete --link-dest=/backups/latest /data/ /backups/$DATE/
ln -sf /backups/$DATE /backups/latest
Der Parameter --link-dest erstellt Hardlinks auf unveraenderte Dateien aus dem Referenz-Backup. Jedes Backup sieht wie eine vollstaendige Kopie aus, aber unveraenderte Dateien belegen keinen zusaetzlichen Speicherplatz. Diese Technik ermoeglicht 30 taegliche Backups mit minimalem Overhead, da nur tatsaechliche Aenderungen gespeichert werden.
Alternativen¶
- restic — Deduplizierung, Verschluesselung, Cloud-Backend-Unterstuetzung (S3, B2, Azure)
- borg — ausgezeichnete Kompression und Deduplizierung, Verschluesselung, Backups als FS mounten
- rclone — Synchronisation mit Cloud-Speicher (40+ Anbieter)
Rotation und Aufbewahrung¶
Eine effektive Backup-Strategie umfasst automatische Rotation — taegliche Backups fuer 7 Tage, woechentliche fuer einen Monat, monatliche fuer ein Jahr. Ein Cron-Job in Kombination mit einem find-Befehl zum Loeschen alter Backups stellt sicher, dass der Speicherplatz nicht unbegrenzt waechst.
3-2-1-Regel¶
3 Kopien der Daten, 2 verschiedene Medien, 1 Offsite-Standort. rsync ist die Grundlage fuer lokale und Remote-Backups. Fuer Produktionsumgebungen kombinieren Sie es mit restic oder borg fuer Verschluesselung und Deduplizierung.