Unabhängig davon, ob Sie Administrator oder normaler Benutzer sind, müssen Sie höchstwahrscheinlich regelmäßig Backups Ihrer Dateien erstellen oder diese zwischen mehreren Systemen synchronisieren. Wenn diese Aufgabe jedes Mal das Überschreiben aller Dateien erfordert, ist dies zeitaufwändig und ermüdend für Sie; Hier kommt Ihnen das Linux-Rsync-to-Remote-Server-Tool zu Hilfe. Dieses Handbuch macht Sie mit den nützlichsten Rsync-Befehlen vertraut und ermöglicht Ihnen die Nutzung der schnellen und sicheren Funktionen.
Was ist das Rsync-Dienstprogramm?
Remote-Synchronisierung (Rsync) ist ein bekannter Linux/Unix-Befehl, den Sie zum Kopieren und Synchronisieren von Dateien und Verzeichnissen per Fernzugriff oder lokal verwenden können. Mit dem Befehl Rsync können Sie verschiedene datenbezogene Aufgaben ausführen, z. B. Synchronisierung, Kopieren und Erstellen von Backups. Darüber hinaus können Sie Ihr Linux-System auf ein anderes spiegeln.
Die Hauptidee hinter der Verwendung von Rsync für einen Remote-Server besteht darin, die schnelle Dateiübertragung zu nutzen. Um Daten zwischen zwei Quellen zu transformieren, werden nur die Unterschiede zwischen ihnen berücksichtigt. Mit anderen Worten: Die Verwendung des Rsync-Befehls hilft Ihnen dabei, Zeitverluste durch blinde Datenübertragung zu vermeiden, da er nur die Unterschiede zwischen den beiden Linux-Systemen berücksichtigt.
Warum Rsync verwenden?
Wie Sie vielleicht bereits wissen, stehen verschiedene Backup-Tools zur Verfügung. Die Frage ist: Was macht das Rsync-Tool im Vergleich zu anderen Dienstprogrammen oder Befehlen einzigartig?
Sie können zum Beispiel verwenden Dateiübertragungsprotokoll (FTP) um eine lokale Kopie Ihrer Website zu haben oder SCP (Secure Copy Protocol) für diese Aufgabe. Allerdings haben diese beiden Nachteile. FTP beinhaltet keine Datenverschlüsselung, was nicht das ist, was wir uns erhoffen, und obwohl SCP kein Problem mit der unverschlüsselten Übertragung wie FTP hat, dauert die Übertragung dennoch länger, da dafür ein Tunnel erstellt wird.
Als alternative Lösung für diese Probleme können wir daher Rsync zum Remote-Server mit schlüsselbasierter Verschlüsselung (einfach Rsync SSH oder Rsync over SSH genannt) verwenden, die das Senden doppelter Daten verhindert und einen SSH-Schlüssel verwendet. Sie sollten außerdem beachten, dass Rsync Komprimierung und Dekomprimierung zum Empfangen und Senden von Daten verwendet, was zu einer geringeren Bandbreitennutzung führt.
Wie installiere ich Rsync?
Wahrscheinlich ist Rsync bereits auf Ihrem System installiert. Lassen Sie uns dennoch ins Detail gehen. Bevor Sie dies tun, beachten Sie bitte, dass SSH sowohl im Quell- als auch im Zielsystem bereits installiert sein muss, da wir Rsync über SSH verwenden möchten.
Schritt 1: Überprüfen der SSH-Version
Sie können die Version von SSH mit dem folgenden Befehl überprüfen:
ssh -V
Um Rsync mit einem Remote-Server durchzuführen, benötigen Sie einen lokalen Server, auch bekannt als die Quelle, und den Remote-Server. Sie sollten außerdem sicherstellen, dass der lokale Server über Administratorrechte (sudo) verfügt.
Schritt 2: Rsync Linux installieren
Mit dem folgenden Befehl können Sie Rsync unter Ubuntu, Linux Mint und Debian installieren:
sudo apt install rsync -y
Wenn Sie andere Linux-Distributionen wie Fedora, CentOS, AlmaLinux und Red Hat verwenden, geben Sie den folgenden Befehl ein, um Rsync für den Remote-Serverdienst auf Ihrem System zu installieren:
sudo dnf install rsync
Hinweis: apt ist ein hilfreiches Paketinstallationstool, das in Debian-basierten Distributionen verwendet wird.
Schritt 3: Rsync starten
Sie müssen nun Rsync starten und dann aktivieren, um es über die folgenden Befehle verwenden zu können:
sudo systemctl start rsync
sudo systemctl enable rsync
Schritt 4: Überprüfen der Rsync-Installation
Geben Sie den folgenden Befehl ein, um sicherzustellen, dass Sie Rsync korrekt installiert haben und um zu überprüfen, welche Version Sie auf Ihrem Linux-System verwenden:
rsync --version
Im folgenden Abschnitt besprechen wir, wie Sie die Fähigkeit dieses Tools zum Erstellen von Backups über eine schlüsselbasierte Authentifizierung nutzen können.
Wie erstelle ich Backups mit Rsync über SSH?
Das Erstellen inkrementeller Backups ist einer der Anwendungsfälle von Rsync über SSH. Bitte beachten Sie den folgenden Befehl, um zu verstehen, wie er funktioniert:
rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Das Ausführen des obigen Befehls hilft Ihnen bei der Synchronisierung Quellverzeichnis Und Zielverzeichnis. Dieser Befehl enthält weitere Optionen, mit denen Sie vertraut sein sollten, z -a (Archiv) Und -v (ausführlich). Beachten Sie, dass -e ssh Die Option erfordert, dass die Rsync-Verbindung über das SSH-Protokoll erfolgt.
Wenn Sie das wollen SSH-Verbindung Um über einen anderen als den Standardport (Port 22) akzeptiert zu werden, müssen Sie anschließend die Portnummer angeben -e ssh. Schauen Sie sich den folgenden Befehl an, um zu verstehen, wie er funktioniert.
rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir
Im obigen Befehl gehen wir davon aus, dass wir 1998 als unseren SSH-Port anstelle von 22 verwenden möchten.
Rsync zum Remote-Server über SSH bietet weitere Optionen, die sehr hilfreich sein können. Zum Beispiel mit der -teilweise Mit dieser Option können Sie die vorherige Teilübertragung fortsetzen, falls Probleme wie eine Rsync-Unterbrechung auftreten. Sie können den aktuellen Dateiübertragungsfortschritt auch über das erfahren -Fortschritt Option. Darüber hinaus können Sie mit dem Linux Rsync to Remote Server-Dienstprogramm diese beiden Funktionen gleichzeitig nutzen. Dazu können Sie die verwenden -p Flag in der Befehlszeile.
rsync -avP -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Rsync zum Remote-Server mit Tastenbefehl ermöglicht es Ihnen, die Daten zu komprimieren, bevor Sie sie an das Ziel übertragen. Auch wenn Ihre CPU zum Abschluss der Komprimierung beansprucht wird, ist es dennoch sehr hilfreich, da es die Dateiübertragung beschleunigt und weniger Bandbreitennutzung erfordert.
Mit dem Befehl Rsync können Sie Dateien und Verzeichnisse remote oder lokal kopieren. Der Hauptvorteil von Rsync besteht darin, dass es auf dem basiert Delta-Übertragungsalgorithmus, wodurch das Kopieren duplizierter Daten von der Quelle zum Ziel verhindert wird. Wie bereits erwähnt, hilft Ihnen diese Funktion des Rsync-to-Remote-Server-Dienstprogramms, wenn Sie tägliche Backups und Systemspiegelung durchführen möchten. Vor diesem Hintergrund verwenden wir den Rsync-Befehl für lokale Anwendungsfälle.
Wie verwende ich Rsync für die lokale Synchronisierung?
Bevor wir uns mit der lokalen Synchronisierung und der Verwendung des Rsync-Befehls dafür befassen, sollten Sie die allgemeine Struktur von lokalem Rsync 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/Öffentlich Ordner; Folgendes müssen Sie eingeben:
rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public
Der obige Rsync-Befehl enthält drei Optionen als -zvh; durch die Verwendung -z, wird Ihre Datei während der Übertragung komprimiert. v-Option steht für ausführliche Ausgabe und die h-Option ist es, was uns hilft, Ausgaben als Menschen zu lesen, also menschenlesbare Ausgaben anzuzeigen.
Verzeichnisse lokal kopieren
Wenn wir das Desktop-Verzeichnis (genannt Cloudzy) Zu /home/Öffentlich Ordner; Sie müssen den folgenden Befehl eingeben:
rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public
Der -a Die Option in diesem Befehl archiviert Verzeichnisse und Dateien während der Synchronisierung.
Sie können schnell die Liste der Verzeichnisse für den Zielordner überprüfen, um zu überprüfen, ob das Verzeichnis kopiert wurde oder nicht. Verwenden Sie dazu den folgenden Befehl:
ls -ld /home/Public
Dateien und Verzeichnisse rekursiv und lokal synchronisieren (rekursives Rsync)
Was wäre, wenn mehrere Verzeichnisse und Dateien in der Datei vorhanden wären? /desktop/Cloudzy, und Sie wollten sie rekursiv über den Linux-Rsync-Befehl kopieren?
In diesem Fall verwenden Sie die -r-Option um Ihre lokalen Dateien und Verzeichnisse rekursiv zu synchronisieren. Sie können auch die verwenden Archivoption (-a) da es andere Anwendungsfälle wie rekursives Kopieren gibt. Bitte sehen Sie sich den folgenden Befehl an, um sich mit den rekursiven Rsync-Befehlen vertraut zu machen.
rsync -zrvh /desktop/Cloudzy /home/Public
Or
rsync -zrvh /desktop/Cloudzy /home/Public
Kopieren von Verzeichnissen und Dateien vom lokalen System zum Remote-System
Abgesehen von den Eigenschaften von Linux Rsync zu Remote-Servern, auf die wir in den vorherigen Abschnitten hingewiesen haben, ermöglicht dieser bekannte Befehl auch die Synchronisierung von Dateien und Verzeichnissen vom lokalen Computer mit dem Remote-System.
Angenommen, wir möchten einen Ordner kopieren (/desktop/Cloudzy/newfolder) vom lokalen Computer zum 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 kopiere ich Verzeichnisse ohne ihre Dateien mit Rsync?
In einigen Fällen möchten wir möglicherweise Linux Rsync zu Remote-Server-Funktionen verwenden, um Verzeichnisse ohne Dateien zu kopieren. Diese Synchronisierung kann vom Remote-Computer zum lokalen System erfolgen oder umgekehrt.
In diesem Artikel haben wir das Remote-System verwendet 192.168.1.79. Angenommen, wir haben es unter /mycpt Ordner und möchte den kopieren /desktop/Cloudzy Verzeichnis vom lokalen System, ohne seine Dateien einzuschließen. Geben Sie dazu bitte den folgenden Befehl ein:
rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/
Weitere nützliche Rsync-Befehle
Hier besprechen wir einige zusätzliche Linux-Rsync-Befehle, die für Sie praktisch sein können.
Bestimmen Sie die maximale Größe für die Dateiübertragung in Rsync
Mit dem Rsync-Befehl können Sie eine Grenzgröße für die Dateiübertragung festlegen. Dies ist hilfreich, wenn Sie Rsync regelmäßig auf einem Remote-Server und dem lokalen Computer ausführen, wo Bandbreite und Zeit wichtige zu berücksichtigende Faktoren sind. Beachten Sie den folgenden Befehl, um sich mit dem Festlegen von Größenbeschränkungen für die Rsync-Dateiübertragung vertraut zu machen:
rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public
Bestimmen Sie die Mindestgröße für die Dateiübertragung in Rsync
Genau wie beim Festlegen einer maximalen Größe für die Dateiübertragung können Sie die Mindestgröße der Datei festlegen, die Sie per Rsync an das Remote-Server-Tool übertragen möchten. Im folgenden Befehl legen wir die minimale Dateigröße auf 10 KB fest:
rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public
Entfernen Sie Dateien aus der Quelle, nachdem die Synchronisierung abgeschlossen ist
Sobald Sie mit der Verwendung des Rsync-Befehls fertig sind, muss die Datei möglicherweise nicht mehr auf dem Quellsystem vorhanden sein. In diesem Fall können Sie den Linux-Rsync-Befehl wie unten verwenden, um die Dateien aus der Quelle zu entfernen:
rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Trockenlauf-Synchronisierung
Wenn Sie mit dem Linux-Rsync-Dienstprogramm noch nicht vertraut sind und mit seinen Optionen nicht vertraut sind, a Trockenlauf ist ein richtiger Weg. Wenn Sie den Probelauf mit Rsync verwenden, werden die Dateien nicht verändert, aber die Ausgabe des Befehls wird für Sie angezeigt. Nachdem Sie sichergestellt haben, dass Sie den Befehl ausführen möchten, können Sie ihn entfernen –Trockenlauf Option daraus auswählen und auf dem Terminal ausführen. Sehen Sie sich den folgenden Befehl an, um mehr über die Trockenlauffunktionalität zu erfahren.
rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Zusammenfassung: Verwendung von Linux-Rsync-Befehlen
In diesem Artikel wurde erläutert, wie Sie die Funktionen von Linux Rsync zu Remote-Servern (und Rsync zu lokalen Servern) für verschiedene Anwendungsfälle verwenden, darunter Systemspiegelung, Erstellen eines Backups von Dateien und Kopieren von Dateien und Verzeichnissen lokal und remote mit einem effizienten Ansatz. Mit diesem bekannten Linux-Befehl profitieren Sie von einer schnellen Dateiübertragung und können gleichzeitig SSH und Datenkomprimierung verwenden.
Holen Sie sich einen kostengünstigen oder Premium-Linux-VPS zum Hosten Ihrer Website oder Ihres Remote-Desktops zum günstigsten Preis. VPS läuft auf Linux KVM für höhere Effizienz und arbeitet auf leistungsstarker Hardware mit NVMe-SSD-Speicher für höhere Geschwindigkeit.
Mehr lesenSie können das Beste aus diesem Betriebssystem herausholen, indem Sie ein Linux-VPS Lösung von Cloudzy, mit der Sie von KVM-basierten Hosting-Plänen profitieren können. Wir bieten Ihnen stolz leistungsstarke VPS-Dienste mit 99,95 % Verfügbarkeit, Stabilität, minimaler Latenz, weltweiten Rechenzentren (12 Standorte), ultraschnellem SSD-Speicher und technischem Support rund um die Uhr. Sie könnten Ihren Linux-VPS bereits ab 4,95 $ nutzen und ihn skalieren, wenn Sie eine fortschrittlichere Lösung wünschen.
FAQ
Welchen TCP-Port verwendet Rsync?
SSH verwendet normalerweise Port 22 als Standardport. Daher funktioniert es bei Verwendung von rsync über SSH auf diesem bestimmten Port. Bei Verwendung des Rsync-Daemons wird hingegen Port 873 verwendet.
Was ist Rsync?
Rsync ist ein Linux-Dienstprogramm, das Dateien und Verzeichnisse remote oder lokal synchronisieren kann. Mit dem Befehl Rsync können Sie verschiedene datenbezogene Aufgaben ausführen, z. B. Synchronisierung, Kopieren und Erstellen von Backups.