Nur für unsere Blog-Besucher: Zusätzlich 3 Monate gratis + 10 % Rabatt auf den Dreijahresplan YSBLOG10
Schnapp dir den Deal

Rsync-Befehl unter Linux: Vollständiger Benutzerhandbuch 2026 (Beispiele + Tipps)

Zuletzt aktualisiert: September 7, 2026 9 min gelesen Prahlad Prajapati
Rsync-Befehl in Linux

Der rsync-Befehl in Linux lautet: Ein schnelles und zuverlässiges Dienstprogramm zur Dateisynchronisierung und -sicherung, das mithilfe eines Delta-Transfer-Algorithmus nur geänderte Daten kopiert. Es erhält Berechtigungen, Eigentumsrechte und Zeitstempel und unterstützt Komprimierung und Verschlüsselung. SSHAusnahmen und Spiegelung. Administratoren verwenden rsync für lokale und Remote-Backups, Servermigrationen und effiziente Website-Bereitstellungen.

Wenn Sie manage Ob Linux-Server oder Websites – die Beherrschung des rsync-Befehls ist unerlässlich. In diesem Benutzerhandbuch erfahren Sie genau, wie rsync funktioniert, wie Sie es installieren, welche Optionen es gibt, anhand von Beispielen aus der Praxis, wie Sie die Leistung optimieren und welche Best Practices für sichere, inkrementelle Backups gelten – egal ob Sie lokal oder auf einen Remote-Server synchronisieren. SSH.


Was ist rsync und wie funktioniert es?

Was ist rsync und wie funktioniert es?

rsync (Remote Sync) ist ein Tool zum differenziellen Kopieren von Dateien. Anstatt jedes Mal die gesamten Dateien zu übertragen, berechnet rsync die Unterschiede und sendet nur die geänderten Blöcke, wodurch Bandbreite und Zeitaufwand drastisch reduziert werden.

Es unterstützt lokale Kopien und lokale zu Remote-Übertragungen (oder Remote-zu-lokale Übertragungen). SSH oder einen rsync-Daemon, wobei Metadaten erhalten bleiben und symbolische Links, Geräte und Hardlinks verarbeitet werden.

Die wichtigsten Funktionen:

  • Der Delta-Transfer-Algorithmus kopiert nur Änderungen
  • Bewahrt Berechtigungen, Eigentumsrechte und Zeitstempel
  • Arbeitet lokal oder über SSH/rsync-Daemon
  • Unterstützt Ausschluss-/Einschlussmuster und Dateilisten
  • Spiegeln und Beschneiden mit --delete
  • Komprimierung (-z) und Fortschrittsausgabe (-P/--info=progress2)

Installieren Sie rsync unter Linux

rsync ist in allen gängigen Distributionen verfügbar. Verwenden Sie Ihr Paket. manager:

# Debian/Ubuntu
sudo apt update && sudo apt install rsync

# RHEL/CentOS/Rocky/Alma (RHEL 8+)
sudo dnf install rsync

# Fedora
sudo dnf install rsync

# Arch/Manjaro
sudo pacman -S rsync

Installation überprüfen:

rsync --version

Grundlegende Syntax und Schnellstart

Die rsync-Syntax ist einfach:

rsync [OPTIONS] SOURCE DESTINATION

Beispiele:

# 1) Local directory to directory
rsync -av /home/user/Documents/ /mnt/backup/Documents/

# 2) Local to remote over SSH (port 22 by default)
rsync -av -e ssh /var/www/ user@server:/backups/www/

# 3) Remote to local download
rsync -av -e ssh user@server:/var/log/ /local/logs/

Zur Sicherheit sollte vor der Ausführung ein Probelauf durchgeführt werden:

rsync -av --dry-run --delete /source/ /dest/

Die am häufigsten verwendeten rsync-Optionen erklärt

Merken Sie sich diese wichtigen Flaggen, um schnell zu handeln und Fehler zu vermeiden:

  • -a (Archiv): Rekursives Kopieren und Beibehalten von Berechtigungen, Eigentumsrechten, Zeitstempeln, symbolischen Links und mehr.
  • -v (ausführlich): Mehr Ausgabe anzeigen. Kombinieren mit -a as -av.
  • -z (Kompresse): Daten werden während der Übertragung komprimiert, ideal für WAN-Verbindungen.
  • -P (Fortschritt + Teil): Fortschritt anzeigen und unvollständige Dateien speichern, um schneller fortfahren zu können.
  • --info=progress2: Einzelner, kumulativer Fortschrittsbalken für große Läufe.
  • -e ssh: Arbeiten jederzeit weiterbearbeiten können. Jede Präsentation und jeder KI-Avatar, den Sie von Grund auf neu erstellen oder hochladen, SSH als Transportmedium für Verschlüsselung und Authentifizierung.
  • --delete: Dateien am Zielort entfernen, die am Quellort (Spiegel) nicht mehr vorhanden sind.
  • --exclude/--include: Bestimmte Dateien/Muster überspringen oder einbeziehen.
  • --exclude-from=FILE: Ausschlussmuster aus einer Datei laden.
  • --bwlimit=KBPS: Bandbreite drosseln, um eine Überlastung der Verbindungen zu vermeiden.
  • --checksum: Vergleichen Sie anhand der Prüfsumme anstatt anhand der Größe/Zeit (langsamer, genauer).
  • --partial: Teilweise übertragene Dateien bleiben bei Unterbrechung erhalten.
  • --backup --backup-dir=DIR: Geänderte/gelöschte Dateien in einem Sicherungsverzeichnis speichern.

Verhalten des abschließenden Schrägstrichs (Wichtig, um Fehler zu vermeiden)

rsync behandelt einen abschließenden Schrägstrich in der Quelldatei anders:

  • rsync -av /src/ /dst/ bedeutet „den Inhalt kopieren von /src in /dst".
  • rsync -av /src /dst/ bedeutet „das Verzeichnis kopieren“. src sich selbst in /dst" (Ergebnis: /dst/src/...).

Beim Spiegeln von Verzeichnisinhalten muss der abschließende Schrägstrich am Quellverzeichnis hinzugefügt werden.

Häufige Anwendungsfälle für rsync mit praktischen Beispielen

1) Lokale Backups mit Archivierungsmodus

Attribute beibehalten und nur geänderte Dateien kopieren:

rsync -av /home/user/Pictures/ /mnt/backup/Pictures/

2) Sichere Remote-Synchronisierung über SSH

Arbeiten jederzeit weiterbearbeiten können. Jede Präsentation und jeder KI-Avatar, den Sie von Grund auf neu erstellen oder hochladen, SSH für Verschlüsselung und schlüsselbasierte Authentifizierung:

# Default SSH port (22)
rsync -avz -e ssh /var/www/ user@host:/data/www/

# Custom port (e.g., 2222)
rsync -avz -e "ssh -p 2222" /var/www/ user@host:/data/www/

3) Verzeichnis spiegeln (Hinzufügen/Löschen, um der Quelle zu entsprechen)

Stellen Sie sicher, dass das Ziel eine exakte Spiegelung ist:

# Always dry-run first to confirm deletions
rsync -av --dry-run --delete /srv/files/ /srv/mirror/

# Then run for real
rsync -av --delete /srv/files/ /srv/mirror/

4) Dateien und Ordner ausschließen

Überspringen Sie temporäre Dateien, Caches oder große Ordner, die Sie nicht benötigen:

rsync -av --exclude=".git" --exclude="node_modules" --exclude="*.tmp" 
/project/ /backup/project/

Verwenden Sie eine Ausschlussdatei, um die Lesbarkeit zu verbessern:

# exclude.txt
.git
node_modules
*.tmp
cache/
rsync -av --exclude-from=exclude.txt /project/ /backup/project/

5) Inkrementelle Backups mit Versionen

Tägliche Snapshots effizient mithilfe von Hardlinks speichern (--link-dest), wodurch Speicherplatz gespart und gleichzeitig die Historie erhalten bleibt:

# Prepare directories
sudo mkdir -p /backups/www
cd /backups/www

# Create a dated snapshot using link-dest to the latest one
DATE=$(date +%F)
rsync -a --delete 
  --link-dest=/backups/www/latest 
  /var/www/ /backups/www/$DATE/

# Update the "latest" symlink
rm -f /backups/www/latest
ln -s /backups/www/$DATE /backups/www/latest

Dies ermöglicht schnelle, speichereffiziente tägliche Datensicherungen und erlaubt Ihnen gleichzeitig, jederzeit darauf zuzugreifen oder die Sicherungen wiederherzustellen.

6) Unterbrochene Übertragungen fortsetzen

Arbeiten jederzeit weiterbearbeiten können. Jede Präsentation und jeder KI-Avatar, den Sie von Grund auf neu erstellen oder hochladen, -P (oder --partial --progress) um fortzufahren und Fortschritte zu sehen:

rsync -avP -e ssh /large/archive.iso user@host:/srv/archive/

7) Integrität mit Prüfsummen überprüfen

Wenn Genauigkeit wichtiger ist als Geschwindigkeit, erzwingen Sie den Prüfsummenvergleich:

rsync -av --checksum /source/ /dest/

Sicherheitsbest Practices für rsync

  • Bevorzugen SSH Transport (-e ssh) mit schlüsselbasierter Authentifizierung und Deaktivierung von Passwort-Logins auf Servern.
  • Verwenden Sie für Backups ein eingeschränktes Benutzerkonto (minimale Berechtigungen). Vermeiden Sie es, als Root-Benutzer zu arbeiten, es sei denn, dies ist unbedingt erforderlich.
  • Für Remote-Pulls, die nur Dateien mit Root-Rechten benötigen, sollten Sie Folgendes beachten: sudo rsync mit einem engen sudoers Regel.
  • Einschränkung SSH per IP-Adresse und Port sowie mithilfe von Firewall-Regeln; fügen Sie 2FA oder Hardware-Schlüssel für kritische Hosts hinzu.
  • Vermeiden Sie es, den rsync-Daemon direkt über das Internet zugänglich zu machen, es sei denn, Sie verstehen die Modul-ACLs und die Authentifizierung vollständig.

On managed VPS oder dedizierte Server bei YouStable, können Sie aktivieren SSH Zugriff nur mit Schlüsseln und Firewall-Richtlinien von Anfang an, um rsync-basierte Backups problemlos zu sichern.

Tipps zur Leistungsoptimierung

  • Komprimierung über WAN: -zIn schnellen LANs kann die Komprimierung die Übertragungsgeschwindigkeit verringern – testen Sie daher beide Wege.
  • Fortschritt effizient darstellen: --info=progress2 für große Betriebe.
  • Transferstrategie auswählen: --whole-file begünstigt den LAN-Durchsatz; --inplace Vermeidet temporäre Dateien bei sehr großen Aktualisierungen.
  • Rauschen überspringen: Arbeiten jederzeit weiterbearbeiten können. Jede Präsentation und jeder KI-Avatar, den Sie von Grund auf neu erstellen oder hochladen, --exclude Muster zur Vermeidung von Protokollen, Caches und Build-Artefakten.
  • Bei Bedarf Gas geben: --bwlimit=20480 Begrenzung auf ca. 20 MB/s zum Schutz des Produktionsdatenverkehrs.
  • Steigerung SSH Leistung der Verschlüsselungsverfahren: versuchen -e "ssh -c [email protected]" auf modernen OpenSSH für eine schnellere Verschlüsselung.

Rsync-Daemon-Modus (Erweitert)

rsync kann als Daemon (TCP 873) ausgeführt werden und benannte Module bereitstellen. Dies kann in vertrauenswürdigen Netzwerken effizient sein, erfordert jedoch sorgfältige Zugriffskontrolllisten (ACLs) und Authentifizierung. Minimalbeispiel:

# /etc/rsyncd.conf
uid = nobody
gid = nogroup
use chroot = yes
read only = yes
hosts allow = 10.0.0.0/24

[files]
    path = /srv/exports/files
    comment = Files export

Starten Sie den Daemon vorübergehend:

sudo rsync --daemon --config=/etc/rsyncd.conf

Verbindung von einem Client aus herstellen:

rsync -av rsync://server/files/ /local/dir/

Behebung häufiger rsync-Fehler

Erlaubnis verweigert

Ursache: unzureichende Berechtigungen oder SSH Authentifizierungsprobleme. Lösung: Korrekten Benutzer, Dateiberechtigungen und Schlüssel sicherstellen. SSH. Versuchen sudo wo dies angebracht ist, oder die Eigentumsverhältnisse anpassen mit chown.

Zeiten/Eigentümerschaft nicht festgelegt

Ursache: Wird nicht als Benutzer mit entsprechenden Berechtigungen ausgeführt. Lösung: rsync mit folgenden Berechtigungen ausführen: sudo am Zielort oder die Wahrung des Eigentums vermeiden (--no-owner --no-group) wenn nicht benötigt.

mkstemp fehlgeschlagen: Zugriff verweigert

Ursache: Schreibbeschränkungen im Zielverzeichnis. Lösung: Verzeichnisberechtigungen und freien Speicherplatz prüfen; versuchen Sie es erneut. --inplace wenn temporäre Dateien blockiert werden.

Protokollversionskonflikt

Ursache: Auf einer Seite ist eine sehr alte rsync-Version installiert. Lösung: rsync auf beiden Endpunkten aktualisieren. SSH Der Transport vermeidet üblicherweise Probleme mit dem Daemon-Protokoll.

Rsync vs. SCP vs. Rclone: ​​Wann welches Programm verwenden?

  • rsync: Ideal für inkrementelle Synchronisierungen, Spiegelung, Backups und partielle Delta-Updates lokal oder über SSHUmfangreiche Ausschluss-/Einschlusslogik.
  • SCP/SFTP: Einfaches Kopieren von Dateien SSHKein Delta-Algorithmus oder erweiterte Synchronisationslogik; gut geeignet für Ad-hoc-Übertragungen.
  • Klon: Cloud-First-Synchronisierung mit S3, GCS, OneDrive usw. Wenn Ihr Ziel Objektspeicherung ist, ist rclone ideal; für POSIX-Server ist rsync die beste Wahl.

Hosting-Workflows aus der Praxis (WordPress, LAMP und mehr)

Bereitstellung einer WordPress-Website

Design und Uploads sicher synchronisieren:

# From staging to production, preserving permissions
rsync -avz -e ssh --exclude="wp-content/cache" 
/var/www/stage.example.com/ wpuser@prod:/var/www/example.com/

Ergänzen Sie dies durch einen Datenbankexport/-import, um die Bereitstellung abzuschließen. Für Migrationen ohne Ausfallzeiten versetzen Sie die Website in den Wartungsmodus, synchronisieren Sie die Dateien mit rsync, synchronisieren Sie die Datenbank und heben Sie anschließend den Wartungsmodus wieder auf.

Nächtliche Server-Backups

Führen Sie einen Cronjob aus, der Folgendes verwendet: --link-dest um datierte Snapshots zu erstellen. Speichern Sie diese auf einer separaten Festplatte oder einem externen Backup-Server. Wenn Sie verwenden YouStableKonfigurieren Sie bei VPS- oder dediziertem Hosting ein sicheres externes Ziel und überwachen Sie die Bandbreite mit --bwlimit für vorhersehbare Backup-Fenster.

Migration einer Website zwischen Hosts

Verwenden Sie rsync über SSH Kopieren /var/www, Konfigurationsdateien in /etc (Vorsicht) und Benutzerdaten. Führen Sie während eines geplanten Umstellungsfensters eine abschließende Delta-Synchronisierung durch, um Änderungen in letzter Minute zu erfassen, und schalten Sie dann um. DNS.

Profi-Tipps aus der Praxis

  • Führen Sie immer einen Trockenlauf durch mit --dry-run vor der Verwendung --delete.
  • Um Überraschungen durch wechselnde Arbeitsverzeichnisse zu vermeiden, sollten Sie in Cron-Skripten absolute Pfade verwenden.
  • Log-Ausgabe mit --log-file=/var/log/rsync-backup.log für Audits und Fehlerbehebung.
  • Kombinieren Sie rsync mit Snapshots (LVM, ZFS, Btrfs) für konsistente Backups von Live-Daten.
  • Bei Datenbanken zuerst sichern (mysqldump or pg_dump), dann rsync die Dump-Dateien.

Häufig gestellte Fragen

Ist rsync schneller als scp?

Ja, bei wiederholten Übertragungen oder großen Verzeichnissen ist rsync in der Regel schneller, da es nur die geänderten Daten kopiert. scp überträgt hingegen immer ganze Dateien. Bei einer ersten vollständigen Kopie können die Geschwindigkeiten ähnlich sein; rsync spielt seine Stärken jedoch bei nachfolgenden Durchläufen aus.

Führt rsync automatisch inkrementelle Backups durch?

rsync überträgt immer nur die geänderten Teile, aber für versionierte Snapshots müssen Sie Folgendes verwenden: --link-dest or --backup --backup-dirDadurch wird die inkrementelle Historie gespeichert und gleichzeitig der Speicherplatzbedarf durch Hardlinks gering gehalten.

Wie kann ich mehrere Muster sauber ausschließen?

Erstellen Sie eine Datei mit einem Muster pro Zeile (z. B. exclude.txt) und verwenden --exclude-from=exclude.txtDies ist wartungsfreundlicher als die Verkettung vieler --exclude Flags in Skripten.

Welchen Port verwendet rsync?

Über SSHrsync verwendet die SSH Port (Standard: 22). Im Daemon-Modus wird TCP 873 verwendet. Für Verbindungen mit Internetzugang ist Port 873 vorzuziehen. SSH und den Zugriff über Firewall und Schlüssel einschränken.

Warum sind die Dateiberechtigungen am Zielort unterschiedlich?

Stellen Sie sicher, dass Sie verwenden -a Um Metadaten zu erhalten, muss die Ausführung mit ausreichenden Berechtigungen am Zielort erfolgen. Dateisysteme, die mit restriktiven Optionen eingebunden wurden, oder Remote-Benutzer ohne Eigentumsrechte können eine ordnungsgemäße Speicherung verhindern.

Wie kann ich rsync in einem Hochgeschwindigkeits-LAN beschleunigen?

Komprimierung deaktivieren (--no-compress oder weglassen -zund berücksichtigen --whole-file. Steigerung SSH Verschlüsselungsleistung verbessern und unnötige Dateien ausschließenUm E/A-Engpässe zu beseitigen, sollten SSDs an beiden Enden verwendet werden.

Ist rsync sicher für Live-Websites?

Ja, insbesondere für statische Inhalte. Bei dynamischen Websites (WordPress) sollte die Website während der finalen Synchronisierung in den Wartungsmodus versetzt und die Datenbanken atomar gesichert und synchronisiert werden. Nutzen Sie Snapshots oder Wartungsfenster, um die Transaktionskonsistenz auf stark ausgelasteten Servern zu gewährleisten.

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit * gekennzeichnet.

Nach oben scrollen