Als Administrator oder normaler Benutzer müssen Sie Ihre Dateien wahrscheinlich regelmäßig sichern oder zwischen mehreren Systemen synchronisieren. Wenn dabei jedes Mal alle Dateien neu überschrieben werden müssen, kostet das unnötig Zeit und Nerven. Genau hier kommt Linux Rsync zum Einsatz: Das Tool überträgt Dateien effizient auf entfernte Server. Diese Anleitung stellt Ihnen die wichtigsten Rsync-Befehle vor, damit Sie die schnellen und sicheren Funktionen gezielt nutzen können.
Was ist das Rsync-Dienstprogramm?
Fernabgleich (Rsync) ist ein bekannter Linux/Unix-Befehl zum Kopieren und Synchronisieren von Dateien und Verzeichnissen – sowohl lokal als auch über Remote-Verbindungen. Mit Rsync lassen sich verschiedene datenbezogene Aufgaben erledigen: Synchronisieren, Kopieren und Erstellen von Backups. Außerdem kannst du dein Linux-System auf ein anderes spiegeln.
Die Stärke von Rsync liegt in seiner effizienten Dateiübertragung: Beim Synchronisieren zweier Quellen überträgt es nur die Unterschiede zwischen ihnen. So vermeidest du unnötige Übertragungszeiten, da Rsync statt einer vollständigen Kopie nur die geänderten Daten zwischen den beiden Linux Systemen überträgt.
Warum Rsync verwenden?
Wie Sie vielleicht bereits wissen, stehen verschiedene Backup-Tools zur Verfügung. Die eigentliche Frage ist: Was unterscheidet Rsync von anderen Werkzeugen und Befehlen?
Zum Beispiel können Sie Dateiübertragungsprotokoll (FTP) um eine lokale Kopie Ihrer Website oder SCP (Secure Copy Protocol) für diese Aufgabe. Beide Optionen haben jedoch Nachteile. FTP bietet keine Datenverschlüsselung – das ist keine akzeptable Lösung. SCP vermeidet zwar das Problem der unverschlüsselten Übertragung, benötigt aber mehr Zeit, da es einen Tunnel aufbaut.
Als Alternative zu diesen Problemen lässt sich Rsync mit schlüsselbasierter Verschlüsselung auf einem Remote-Server einsetzen (auch als Rsync SSH oder Rsync over SSH bezeichnet). Diese Methode verhindert die Übertragung doppelter Daten und verwendet einen SSH-Schlüssel. Außerdem komprimiert Rsync die Daten beim Senden und Empfangen, was den Bandbreitenverbrauch deutlich reduziert.
Wie installiert man Rsync?
Rsync ist auf den meisten Systemen bereits vorinstalliert. Beachte jedoch: SSH muss auf beiden Systemen installiert sein – sowohl auf der Quelle als auch auf dem Ziel – da wir Rsync über SSH nutzen werden.
Schritt 1: SSH-Version prüfen
Die Version von SSH lässt sich mit folgendem Befehl prüfen:
ssh -V
Um Rsync auf einen Remote-Server zu übertragen, benötigen Sie einen lokalen Server (die Quelle) und den Remote-Server. Stellen Sie außerdem sicher, dass der lokale Server über administrative Rechte (sudo) verfügt.
Schritt 2: Rsync installieren Linux
Mit dem folgenden Befehl können Sie Rsync auf Ubuntu, Linux Mint und Debian installieren:
sudo apt install rsync -y
Wenn Sie andere Linux-Distributionen verwenden, wie Fedora, CentOS, AlmaLinux und Red Hat, geben Sie folgenden Befehl ein, um den Rsync-Remote-Server-Dienst auf Ihrem System zu installieren:
sudo dnf install rsync
Hinweis: apt ist ein praktisches Paketverwaltungswerkzeug, das in Debian-basierten Distributionen verwendet wird.
Schritt 3: Rsync starten
Starten und aktivieren Sie Rsync mit den folgenden Befehlen, um es verwenden zu können:
sudo systemctl start rsync
sudo systemctl enable rsync
Schritt 4: Rsync-Installation überprüfen
Geben Sie den folgenden Befehl ein, um zu prüfen, ob Rsync korrekt installiert wurde, und um die verwendete Version auf Ihrem Linux-System anzuzeigen:
rsync --version
Im folgenden Abschnitt erklären wir, wie Sie mit diesem Tool Backups über schlüsselbasierte Authentifizierung erstellen.
Wie erstellt man Backups mit Rsync über SSH?
Das Erstellen inkrementeller Backups ist eine der Einsatzmöglichkeiten von Rsync über SSH. Sehen Sie sich den folgenden Befehl an, um zu verstehen, wie es funktioniert:
rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Das Ausführen des obigen Befehls synchronisiert sourceDir und destinationDir. Dieser Befehl enthält weitere Optionen, mit denen Sie vertraut sein sollten, wie z. B. -a (archive) und -v (verbose)Beachte, dass -e ssh Option legt fest, dass die Rsync-Verbindung über das SSH-Protokoll erfolgen muss.
Wenn Sie möchten, dass der SSH-Verbindung über einen anderen Port als den Standardport (Port 22) akzeptiert wird, müssen Sie die Portnummer nach -e ssh. angeben. Sehen Sie sich den folgenden Befehl an, um zu verstehen, wie es funktioniert.
rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir
Im obigen Befehl gehen wir davon aus, dass wir 1998 statt 22 als SSH-Port verwenden möchten.
Rsync zum Remote-Server über SSH bietet weitere nützliche Optionen. Zum Beispiel ermöglicht die –partial Option, eine unterbrochene Übertragung fortzusetzen, falls es zu Problemen wie einer Rsync-Unterbrechung kommt. Den aktuellen Fortschritt der Dateiübertragung können Sie über die –progress Option verfolgen. Darüber hinaus ermöglicht das Linux Rsync-Remote-Server-Dienstprogramm, beide Funktionen gleichzeitig zu nutzen. Dazu können Sie das -p Flag in der Befehlszeile verwenden.
rsync -avP -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Der Rsync-Remote-Server-Befehl mit Schlüssel ermöglicht es, Daten vor der Übertragung zum Ziel zu komprimieren. Auch wenn dabei Ihre CPU beansprucht wird, ist dies dennoch hilfreich, da die Dateiübertragung dadurch schneller wird und weniger Bandbreite verbraucht.
Sie können den Rsync-Befehl verwenden, um Dateien und Verzeichnisse zu kopieren, sowohl lokal als auch remote. Der Hauptvorteil von Rsync liegt darin, dass es auf dem Delta-Transfer-Algorithmus, der verhindert, dass duplizierte Daten von der Quelle zum Ziel kopiert werden. Wie bereits erwähnt, ist diese Funktion von Rsync nützlich, wenn du tägliche Backups oder System-Mirroring verwalten möchtest. Schauen wir uns nun die Rsync-Befehle für lokale Anwendungsfälle an.
Rsync für lokale Synchronisierung verwenden
Bevor wir uns mit der lokalen Synchronisierung und den entsprechenden Rsync-Befehlen befassen, solltest du die allgemeine Struktur eines lokalen Rsync-Befehls kennen, die unten dargestellt ist:
rsync [options] [Source] [Destination]
Dateien lokal kopieren
Angenommen, wir möchten eine Datei aus dem Desktop-Verzeichnis (genannt Cloudzy) zu /home/Public Ordner; das musst du dafür eingeben:
rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public
Der obige Rsync-Befehl enthält drei Optionen: -zvh; durch Verwendung von -z, wird die Datei während der Übertragung komprimiert. v Option steht für ausführliche Ausgabe, und h Option sorgt dafür, dass die Ausgaben in einem für Menschen lesbaren Format angezeigt werden.
Verzeichnisse lokal kopieren
Wenn wir das Desktop-Verzeichnis (genannt Cloudzy) zu /home/Public Ordner; gib dazu folgenden Befehl ein:
rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public
Die -a Diese Option im Befehl archiviert Verzeichnisse und Dateien während der Synchronisierung.
Du kannst die Verzeichnisliste des Zielordners schnell prüfen, um zu überprüfen, ob das Verzeichnis kopiert wurde. Verwende dazu folgenden Befehl:
ls -ld /home/Public
Dateien und Verzeichnisse rekursiv und lokal synchronisieren (rekursives Rsync)
Was, wenn sich mehrere Verzeichnisse und Dateien in /desktop/Cloudzybefinden und du sie rekursiv mit dem Rsync-Befehl kopieren möchtest?
In diesem Fall verwendest du -r Option , um lokale Dateien und Verzeichnisse rekursiv zu synchronisieren. Du kannst auch Archivierungsoption (-a) verwenden, da diese Option unter anderem ebenfalls rekursives Kopieren unterstützt. Der folgende Befehl zeigt, wie rekursive Rsync-Befehle aufgebaut sind.
rsync -zrvh /desktop/Cloudzy /home/Public
Or
rsync -zrvh /desktop/Cloudzy /home/Public
Verzeichnisse und Dateien vom lokalen System auf einen Remote-Server kopieren
Neben den Rsync-Funktionen für Remote-Server, die in den vorherigen Abschnitten beschrieben wurden, ermöglicht dieser Befehl auch die Synchronisierung von Dateien und Verzeichnissen vom lokalen Rechner auf ein Remote-System.
Angenommen, wir möchten einen Ordner kopieren (/desktop/Cloudzy/neuerordner) vom lokalen Rechner auf das Remote-System (mit 192.168.1.79) unter /mycpt; hier ist ein Beispiel, das zeigt, wie das funktioniert:
rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt
Wie kopiert man Verzeichnisse ohne ihre Dateien mit Rsync?
In manchen Fällen möchte man Rsync nutzen, um Verzeichnisse ohne Dateien auf einen Remote-Server zu übertragen. Diese Synchronisierung kann vom Remote-Rechner auf das lokale System erfolgen oder umgekehrt.
In diesem Artikel verwenden wir das Remote-System unter 192.168.1.79. Angenommen, wir haben es unter dem /mycpt Ordner und möchten das /desktop/Cloudzy Verzeichnis vom lokalen System kopieren, ohne die enthaltenen Dateien einzuschließen. Geben Sie dazu den folgenden Befehl ein:
rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/
Weitere nützliche Rsync-Befehle
Im Folgenden stellen wir einige zusätzliche Linux Rsync-Befehle vor, die sich in der Praxis als hilfreich erweisen können.
Maximale Dateigröße für die Übertragung in Rsync festlegen
Mit dem Rsync-Befehl können Sie eine Größenbeschränkung für die Dateiübertragung festlegen. Das ist besonders nützlich, wenn Sie Rsync regelmäßig zwischen einem Remote-Server und dem lokalen Rechner ausführen, wo Bandbreite und Zeit entscheidende Faktoren sind. Der folgende Befehl zeigt, wie Sie Größenbeschränkungen für Rsync-Dateiübertragungen konfigurieren:
rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public
Minimale Dateigröße für die Übertragung in Rsync festlegen
Genau wie bei der maximalen Dateigröße können Sie auch eine Mindestgröße für die zu übertragende Datei festlegen. Im folgenden Befehl setzen wir die minimale Dateigröße auf 10k:
rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public
Quelldateien nach abgeschlossener Synchronisierung entfernen
Nach einer Rsync-Übertragung benötigen Sie die Dateien auf dem Quellsystem möglicherweise nicht mehr. In diesem Fall können Sie den folgenden Linux Rsync-Befehl verwenden, um die Quelldateien zu löschen:
rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Probelauf (Dry Run)
Wenn Sie neu bei Linux Rsync sind und sich mit den Optionen noch nicht vertraut fühlen, ist ein Testlauf ein guter Einstieg. Bei einem Probelauf mit Rsync werden keine Dateien verändert, aber die Ausgabe des Befehls wird angezeigt. Sobald Sie sicher sind, dass Sie den Befehl ausführen möchten, entfernen Sie die –dry-run Option und führen Sie ihn im Terminal aus. Der folgende Befehl zeigt, wie die Dry-Run-Funktion funktioniert.
rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Zusammenfassung: Linux Rsync-Befehle im Überblick
Dieser Artikel hat erklärt, wie man die Möglichkeiten von Linux Rsync für verschiedene Anwendungsfälle nutzt, darunter die Synchronisierung mit einem Remote-Server und einem lokalen Server, Systemspiegelung, das Erstellen von Datei-Backups sowie das lokale und remote Kopieren von Dateien und Verzeichnissen. Dieser bekannte Linux-Befehl ermöglicht schnelle Dateiübertragungen und unterstützt SSH sowie Datenkomprimierung.
Hol dir einen Economy- oder Premium-Linux VPS zum günstigen Preis - ideal für Websites oder Remote-Desktop. VPS läuft auf Linux KVM für höhere Effizienz und setzt auf leistungsstarke Hardware mit NVMe SSD-Speicher für mehr Geschwindigkeit.
WeiterlesenSie können das Beste aus diesem Betriebssystem herausholen, indem Sie einen Linux VPS Lösung von Cloudzy, die KVM-basierte Hosting-Pläne bietet. Wir bieten leistungsstarke VPS-Dienste mit 99,95 % Uptime, stabiler Performance, minimaler Latenz, weltweiten Rechenzentren (12 Standorte), ultraschnellem SSD-Speicher und 24/7-Support. Starten Sie Ihren Linux VPS ab 4,95 $ und skalieren Sie bei Bedarf.
Häufig gestellte Fragen
Welchen TCP-Port verwendet Rsync?
SSH verwendet standardmäßig Port 22. Wird Rsync über SSH ausgeführt, läuft es entsprechend auf diesem Port. Im Rsync-Daemon-Modus wird stattdessen Port 873 verwendet.
Was ist Rsync?
Rsync ist ein Linux-Tool zum Synchronisieren von Dateien und Verzeichnissen, lokal oder remote. Mit dem Rsync-Befehl lassen sich Daten synchronisieren, kopieren und sichern.