rsync Backups einrichten: Praxisanleitung mit Beispielen

Rsync ist eines der flexibelsten und zuverlässigsten Tools für Backups unter Linux. Es ermöglicht die effiziente Synchronisation von Dateien und Verzeichnissen sowohl lokal als auch über Netzwerke hinweg. In dieser Praxisanleitung zeigen wir, wie Sie rsync für sichere und automatisierte Backups einrichten, inklusive konkreter Beispiele und Best Practices.

Grundlagen von rsync

Rsync arbeitet dateibasiert und überträgt nur geänderte Daten, was Bandbreite und Zeit spart. Es unterstützt lokale Kopien, SSH-Übertragungen und kann Berechtigungen, Eigentümer und Zeitstempel erhalten.

Wichtige Optionen

  • -a (archive) – bewahrt Berechtigungen, Zeitstempel und Symlinks
  • -v (verbose) – ausführliche Ausgabe
  • -z (compress) – komprimiert die Datenübertragung
  • --delete – löscht Dateien im Ziel, die im Quellverzeichnis nicht mehr existieren
  • -e ssh – sichert die Übertragung über SSH

Lokale Backups einrichten

Für einfache Sicherungen auf demselben Server eignet sich rsync hervorragend, um beispielsweise /home zu sichern.

rsync -av --progress /home/ /mnt/backups/home/

Hierbei werden alle Dateien aus /home/ nach /mnt/backups/home/ kopiert, inklusive Berechtigungen und Zeitstempeln.

Inkrementelle Backups

Inkrementelle Backups können durch die Nutzung von rsync in Verbindung mit Hardlinks realisiert werden:

rsync -a --link-dest=/mnt/backups/home_last/ /home/ /mnt/backups/home_$(date +%F)/

Dadurch werden nur geänderte Dateien kopiert, unveränderte Dateien als Hardlink referenziert.

Remote Backups per SSH

Die Sicherung auf einen entfernten Server erfolgt sicher über SSH:

rsync -avz -e ssh /home/ user@backupserver:/backups/home/

Option -z komprimiert die Übertragung, was besonders bei großen Datenmengen über WAN vorteilhaft ist.

SSH-Schlüsselauthentifizierung

Um Backups automatisiert per Cron auszuführen, sollte SSH-Key-Authentifizierung verwendet werden:

# Schlüssel erzeugen (falls noch nicht vorhanden)
ssh-keygen -t ed25519
# öffentlichen Schlüssel auf den Backup-Server kopieren
ssh-copy-id user@backupserver

Automatisierung mit Cronjobs

Automatisierte Backups können durch Cronjobs regelmäßig ausgeführt werden:

# tägliches Backup um 3 Uhr morgens
0 3 * * * rsync -avz -e ssh /home/ user@backupserver:/backups/home/

Logging einrichten

Es ist empfehlenswert, Log-Dateien zu erstellen, um Backup-Erfolge und Fehler zu dokumentieren:

rsync -avz -e ssh /home/ user@backupserver:/backups/home/ >> /var/log/rsync_home.log 2>&1

Best Practices

  • Immer --dry-run testen, bevor Änderungen im Ziel erfolgen:
  • rsync -av --dry-run /home/ /mnt/backups/home/
  • Backups nicht im gleichen Filesystem speichern, um Ausfallrisiken zu minimieren
  • Datenübertragung verschlüsseln (SSH, VPN)
  • Regelmäßig Test-Restore durchführen, um die Wiederherstellung zu prüfen
  • Alte Backups rotieren, z. B. durch find /mnt/backups -type d -mtime +30 -exec rm -rf {} ;

Exklusive Optionen für Performance

  • --bwlimit=KBPS – Bandbreitenlimit setzen
  • --partial – unvollständige Dateien behalten für Wiederaufnahme
  • --checksum – prüft Änderungen über Prüfsummen statt Zeitstempel

Fazit

Rsync bietet flexible Möglichkeiten für lokale und Remote-Backups. Mit SSH, Cronjobs und Logging lassen sich automatisierte, sichere und effiziente Backup-Strategien umsetzen. Durch Test-Restores, Rotationsregeln und Hardlinks kann Speicherplatz effizient genutzt werden und Datenverlust wird minimiert.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles