GNU/Linux >> LINUX-Kenntnisse >  >> Linux

15 Praktische Beispiele für den Rsync-Befehl unter Linux

Mit dem Rsync-Befehl können wir Dateien über eine SSH-Verbindung oder einen lokalen Computer über verschiedene Verzeichnisse und Computer hinweg übertragen und synchronisieren. Wenn Sie jemals Ihr Verzeichnis sichern oder die Daten synchronisieren müssen, ist Rsync eines der besten Tools zum Sichern des Systems. Die Verwendung von Rsync ist viel effizienter als nur das Kopieren von Dateien, da Rsync nur das kopiert, was anders ist.

Wenn Sie beispielsweise versuchen, 1000 Fotos zu sichern, wählt Rsync nur die spezifischen Dateien aus, die seit der letzten Sicherung entweder neu oder anders sind. Und wenn Sie Daten kopieren und die Netzwerkverbindung verlieren und den Rsync-Befehl erneut ausführen, weiß er, wo er aufgehört hat, und muss nicht von vorne beginnen.

Als Linux-Systemadministrator müssen Sie einige wichtige und praktische Beispiele für Rsync-Befehle in Linux kennen, um Ihre Erfahrung reibungsloser zu gestalten.

Funktionen von Rsync unter Linux

Hier füge ich ein paar grundlegende Funktionen von Rsync hinzu. Sie können die unten aufgeführten Punkte durchgehen, um einen detaillierten Überblick über den Remote-Synchronisierungsbefehl zu erhalten, der Ihnen später helfen wird, die Beispiele für Rsync-Befehle in Linux zu verstehen.

  • Der Rsync-Befehl kann Dateien und Verzeichnisse und Unterverzeichnisse kopieren.
  • Da Rsync den Delta-Transfer-Algorithmus verwendet, überspringt das Tool Dateien, die sich bereits in der Zieladresse befinden.
  • Der Rsync ignoriert die Datei, die genau die gleiche wie die Client- und Host-Systeme ist.
  • Sie können Rsync sowohl für SSH als auch für den lokalen Computer verwenden.
  • Es kann die tar-Befehle zusammen mit dem Kopieren von Dateien ausführen.
  • In den meisten Fällen benötigt Rsync das sudo nicht Privileg.
  • Sie können die Pipeline-Befehle zusammen mit Rsync verwenden, um Dateien schneller zu übertragen und die Latenz niedriger zu halten.
  • Zum Kopieren von Dateien über das Internet verwendet Rsync das TCP-Protokoll.
  • Der Rsync kann die erforderliche Bandbreite reduzieren.
  • Sie können keine Dateien zwischen zwei oder mehr entfernten Hosts über Rsync unter Linux kopieren.

Remote-Sync-Syntax unter Linux

Hier füge ich einige der wichtigsten Syntaxen und die Zusammenfassung von Rsync hinzu. Das Durchgehen der Syntaxen und Flags ist wichtig, um die Beispiele für Rsync-Befehle in Linux besser zu verstehen.

Die angegebenen Befehlsformate dienen zum Übertragen von Dateien auf den lokalen Rechner.

rsync [OPTION...] SRC... [DEST]

Rsync verwendet das angegebene Befehlsformat zum Übertragen von Dateien über eine Remote-Shell.

- -
Pull:rsync [OPTION...] [[email protected]]HOST:SRC... [DEST]Push:rsync [OPTION...] SRC... [[email protected]] HOST:DEST

Rsync verwendet das angegebene Befehlsformat zum Übertragen von Dateien, wenn es als Daemon auf den Host zugreift.

Pull:rsync [OPTION...] [[email protected]]HOST::SRC... [DEST]rsync [OPTION...] rsync://[[email protected]]HOST[:PORT]/SRC... [DEST]Push:rsync [OPTION...] SRC... [[email protected]]HOST::DESTrsync [OPTION...] SRC... rsync://[example @unixlinux.online]HOST[:PORT]/DEST

Installieren Sie Rsync unter Linux

Bevor wir uns mit den Beispielen für Rsync-Befehle unter Linux befassen, müssen wir überprüfen, ob wir das Tool auf dem System installiert haben oder nicht. Standardmäßig ist Rsync bei allen wichtigen Linux-Distributionen vorinstalliert. Wenn Sie also feststellen, dass das Tool nicht auf Ihrem System installiert ist, können Sie das Rsync-Tool problemlos auf Ihrem Computer installieren. Hier trage ich die Befehle für die wichtigsten Linux-Distributionen ein, um Rsync zu installieren.

Holen Sie sich Rsync für Fedora und Red Hat Linux

sudo yum installiere rsync -ysudo dnf installiere rsync -y

Installieren Sie Rsync unter Debian/Ubuntu Linux

sudo apt install rsync -y

Sie können das Rsync-Tool über die Snap-Befehle auf Arch Linux-Systemen abrufen. Bitte führen Sie die unten aufgeführten Befehle aus, um das Rsync-Tool unter Arch Linux zu erhalten. Klonen Sie zuerst das Repository unter Linux.

git-Klon https://aur.archlinux.org/snapd.gitcd snapdmakepkg -si

Führen Sie nun die Systemsteuerungsbefehle aus, um die Sockets zu verwenden. Führen Sie dann den Snap-Befehl aus, um das Tool zu installieren.

sudo systemctl enable --now snapd.socketsudo ln -s /var/lib/snapd/snap /snapsudo snap install rsync-leftyfb

Schließlich, wenn die Installation abgeschlossen ist, können Sie jetzt die Hilfeseite von Rsync auf der Terminal-Shell überprüfen.

$ rsync --help

Rsync unter Linux

Rsync ist die Kurzform des Remote-Synchronisationsbefehls. Dieses Rsync-Tool ist sowohl für Mac als auch für Linux verfügbar. In beiden Fällen sind die Syntax und Befehlsstile ziemlich gleich. Wenn wir jetzt von Remote-Synchronisierung sprechen, bedeutet das nicht immer unbedingt, dass Sie Dateien über SSH oder das Internet synchronisieren oder kopieren müssen.

Sie können Rsync auch auf demselben Computer ausführen, um zwei verschiedene Verzeichnisse oder Unterverzeichnisse zu synchronisieren. Eine sehr effektive Verwendung von Rsync zeigt sich beim Aktualisieren von Paket-Repositories und alternativen oder Spiegelservern.

In diesem Beitrag sehen wir einige Beispiele der am häufigsten verwendeten und leistungsfähigsten Rsync-Befehle für Linux.

Rsync-Beispiele unter Linux

Hier sind einige grundlegende Beispiele für den Rsync-Befehl und das Format in Linux. Das unten bereitgestellte ist das Befehlsformat und das zweite ist für die Verwendung von Rsync über SSH.

Unter Linux stellt Rsync eine Verbindung über die SSH-Verbindung her, wenn es über eine Host-Client-Umgebung ausgeführt wird. Wenn der entfernte Benutzer oder der Client die Verbindung akzeptiert, reaktiviert das Client-Rsync automatisch das Rsync auf dem Hostsystem.

Allgemeines Befehlsformat von Rsync

$ rsync [Optionen] Quelle [Ziel]

Rsync-Befehlsformat für die SSH-Verbindungen

$ rsync local-file [email protected]:remote-file

1. Remote-Synchronisierungsbefehl zum Kopieren aller Dateien im Verzeichnis

Das unten aufgeführte Beispiel des Rsync-Befehls unter Linux kopiert alle Dateien aus den Dokumenten in das Verzeichnis /tmp/documents.

$ rsync -av Dokumente/* /tmp/documents

In diesem Befehl haben wir drei Flags verwendet; -a und -v und die *. Hier ist die Erklärung, was sie im Befehl tun.

  • -a:Das Flag -a führt den Befehl auf Archiv-/Bibliotheks-Weise aus.
  • -v:Das Blag -v wird verwendet, um Rsync ausführlich auszuführen.
  • – *:Das *-Symbol sorgt dafür, dass alle Dateien ausgewählt und kopiert werden.

Wenn wir nun einige neue Dateien zum ursprünglichen Verzeichnis hinzufügen und Rsync erneut ausführen, kopiert es die neuen Dateien und benachrichtigt die verbale Ausgabe in der Shell.

$ rsync -av Dokumente/* /tmp/documents

Der unten erwähnte Befehl ermöglicht es uns, einen Test durchzuführen, um zu wissen, welche Dateien synchronisiert werden, um Fehler zu vermeiden.

$ rsync -aunv /home/ubuntupit/Dokumente/* /home/ubuntupit/Bilder/

Nachdem wir eine Testüberprüfung durchgeführt haben, können wir nun den eigentlichen Befehl ausführen, indem wir das Flag -n des Befehls entfernen.

$ rsync -auv /home/ubuntupit/Dokumente/* /home/ubuntupit/Bilder/

2. Rsync-Befehlsbeispiel über SSH

Bis jetzt haben wir einige Beispiele von Rsync gesehen, wie man es auf einem lokalen Rechner ausführt. Hier werden wir sehen, wie es über die Server ausgeführt wird. Alle Syntaxen sind gleich; Sie müssen nur die Webserver-Adresse und den Benutzernamen eingeben.

$ rsync -av --ignore-existing Documents/* [email protected]:~/all/

3. Rsync-Beispiele unter Linux:Probelauf von Rsync

In der Programmierung wird der Begriff Trockenlauf als Ausführen eines Befehls definiert, nur um eine Vorschau zu sehen, oder als falsche Ausführung, um zu prüfen, was passieren könnte, wenn wir den Befehl ausführen. Hier können wir auch den Trockenlaufbefehl für Rsync anwenden.

Mit den folgenden Rsync-Befehlsbeispielen können wir überprüfen, welche Dateien auf dem Hostsystem vom Remote-Linux-Server synchronisiert werden. Später können wir den Befehl ohne Probelauf ausführen.

$ rsync -av --dry-run --update Documents/* [email protected]:~/all/$ rsync -av --update Documents/* [email protected]:~/all/ 

4. Dateien zwischen dem lokalen Computer und dem Remote-Server synchronisieren

Der obige Befehl zeigt, wie Dateien entweder von einem lokalen Computer zu einem lokalen Computer oder vom Server zu einem anderen Host gesendet werden. Das folgende Beispiel von Rsync zeigt, wie Sie das Tool verwenden können, um Dateien von einem lokalen Computer an einen Remote-Linux-Computer zu senden.

rsync [Optionen] [Dateien] [Remote-Benutzername]@[IP-Adresse]:/[Ziel]

5. Übertragen Sie Dateien vom Remote-Server auf den lokalen Computer

Genau das Gegenteil des obigen Befehls, das unten erwähnte Beispiel des Rsync-Befehls zeigt, wie Sie Dateien vom Remote-Linux-Server an Ihren lokalen Computer senden können.

rsync -rv [email protected]:/home/ubuntupit/Backup /home/ubuntupit/Desktop/Original

6. Fortschritt mit dem Rsync anzeigen

Dies ist sehr wichtig für diejenigen, die große Dateien über das Rsync-Tool übertragen müssen. Das unten aufgeführte Beispiel des Rsync-Befehls zeigt beispielsweise, wie Sie den Übertragungsfortschritt in der CLI unter Linux überwachen und beobachten können.

sudo rsync -rv --progress Original/* /etc/ubuntupit

Sie können den Befehl Rsync mit dem Flag „–include“ ausführen, um eine bestimmte Datei zum Synchronisierungsprozess hinzuzufügen.

sudo rsync -vr --include 'I*' Original/ /etc/Backup/

7. Verwenden Sie Rsync mit „–exclude“, um Dateien zu ignorieren

Mit Rsync können Sie auch einen Ausschluss verwenden Befehl, um eine beliebige Datei von Ihrem Befehl auszuschließen. Das unten erwähnte Beispiel des Rsync-Befehls in Linux zeigt uns, wie wir eine Datei ausschließen, die wir nicht synchronisieren möchten. Hier habe ich die Datei To_check_rsync_two (another copy).txt ausgeschlossen über diesen Rsync-Befehl auf meinem Linux-System synchronisiert werden.

$ sudo rsync -vr --exclude 'To_check_rsync_two (another copy).txt' /home/ubuntupit/Desktop/ /home/ubuntupit/Documents/

Auf die gleiche Weise können Sie auch eine Datei einschließen, wenn Sie diese zwangsweise einschließen möchten, von der Sie glauben, dass rsync sie standardmäßig nicht hinzufügt.

sudo rsync -vr --exclude '*' --include 'I*' Original/ /etc/Backup/

Um eine zu synchronisierende Datei über den Befehl Rsync zu entfernen oder zu löschen, können Sie das Flag -delete im Befehl auf der Terminal-Shell verwenden.

rsync -vr --delete /etc/Backup/ [email protected]:/home/ubuntupit/Backup

8. Legen Sie die maximale Größenbeschränkung fest

Wenn Sie eine begrenzte Menge an Bandbreitendaten auf einem Computer verwenden und mehrere Dateien übertragen müssen, aber nicht wissen, wann Sie die Übertragung stoppen müssen, um Ihre Bandbreite zu sparen, können Sie das unten erwähnte Beispiel für Rsync verwenden Befehl, um die maximale Größe der Dateiübertragung zu begrenzen.

rsync -vr --max-size='200k' /etc/Backup/ [email protected]:/home/ubuntupit/Backup

9. Quelldateien nach einer Übertragung automatisch löschen

Wenn Ihr Host-PC über begrenzten Speicherplatz verfügt und Sie die Datei gleichzeitig löschen möchten, nachdem Sie die Datei in Ihr System übertragen haben, können Sie das Lösch-Flag mit dem Rsync-Befehl auf der Linux-Terminal-Shell verwenden.

$ rsync -vr --remove-source-files Original/* [email protected]:/home/ubuntupit/backups/

10. Synchronisieren Sie die gesamten Dateien mit Remote Sync

Bisher haben wir gesehen, dass der Rsync-Befehl nur die Dateien synchronisiert, die nicht bearbeitet oder geändert wurden. Aber wenn Sie alle Ihre modifizierten und unmodifizierten Dateien synchronisieren möchten, können Sie den Rsync-Befehl von unten verwenden.

rsync -vrW Original/* [email protected]:/home/ubuntupit/Backup

11. Beenden Sie die Synchronisierung geänderter Dateien im Ziel

Wenn Sie nach Auswahl eines ganzen Systems eine bestimmte Datei oder einen bestimmten Ordner nicht synchronisieren möchten, können Sie diesen Pfad dem Rsync-Befehl zuweisen, sodass das Rsync-Tool den Pfad für die Synchronisierung überspringt.

rsync -vu Original/* [email protected]:/home/ubuntupit/Backup

12. Fügen Sie -i Flag hinzu, um den Unterschied zu überwachen

Um den Unterschied zwischen der Originaldatei und der Datei nach der Synchronisierung anzuzeigen, verwenden Sie bitte ein i-Flag mit dem Befehl.

rsync -avzi Original/Backup/

13. Verwenden Sie die Remote-Synchronisierung nur zum Kopieren der Verzeichnisstruktur

Dieser Befehl ist sehr interessant für diejenigen, die daran interessiert sind, die Datei zu kopieren oder zu übertragen; Sie können jetzt den rsync-Befehl verwenden, um die Verzeichnisstruktur über den rsync-Befehl anzuzeigen.

rsync -av -f"+ */" ​​-f"- *" /home/ubuntupit/Desktop/Original/ /home/ubuntupit/Documents/

14. Datumsstempel zum Verzeichnisnamen hinzufügen

Um einen Zeitstempel in die Datei einzufügen, während sie über das Remote-Synchronisierungstool übertragen wird, können Sie das folgende Stempelformat beim Befehl für den Zielspeicherort verwenden.

Zielverzeichnis:$(date +\\%Y-\\%m-\\%d)sudo rsync -rv /home/ubuntupit/Documents/* /etc/$(date +\\%Y-\ \%m-\\%d)

15. Mehrere Dateien aus der Ferne kopieren

Bisher haben wir gesehen, wie man eine einzelne Datei von einem entfernten Server auf einen lokalen Rechner oder umgekehrt von einem Host-PC auf den lokalen Rechner kopiert und überträgt. Jetzt werden wir sehen, wie wir mehrere Dateien hinzufügen und sie mit einem Rsync-Befehl übertragen können. Um mehrere Dateien hinzuzufügen, müssen wir alle Dateipfade im Befehl angeben.

rsync -vr /home/ubuntupit/Documents/To_check_rsync.txt /home/ubuntupit/Desktop/To_check_rsync_two.txt /home/ubuntupit/rsync -vr /home/ubuntupit/Documents/To_check_rsync.txt /home/ubuntupit/Desktop /To_check_rsync_two.txt [email protected]:/home/ubuntupit/Backup

Einblicke!

Da der Rsync-Befehl in der Programmiersprache C geschrieben ist und als Single-Thread-Anwendung ausgeführt wird, kann dieses Tool problemlos mit Kernel und anderen Anwendungen kommunizieren. Im gesamten Beitrag haben wir das Rsync-Tool und Beispiele des Rsync-Befehls in Linux für die effektive Übertragung von Dateien über Maschinen und Server gesehen.

Mit der richtigen Konfiguration und dem richtigen Wissen können Sie sogar Apache-Server mit dem Rsync-Befehl synchronisieren. In einigen Fällen kann der Rsync-Befehl mit dem Prüfsummenbefehl verknüpft werden, der ausführen kann, ob die Datei geändert wurde oder nicht. Wenn Sie mehr an Rsync interessiert sind, können Sie auch das GUI-basierte Rsync-Tool ausprobieren.

Bitte teilen Sie ihn mit Ihren Freunden und der Linux-Community, wenn Sie diesen Beitrag nützlich und informativ finden. Wir empfehlen Ihnen auch, Ihre Meinung zu diesem Beitrag im Kommentarbereich niederzuschreiben.


Linux
  1. 10 praktische Beispiele für Linux-nm-Befehle

  2. 7 Beispiele für Linux-df-Befehle

  3. 8 Linux TR-Befehlsbeispiele

  4. Linux-rsync-Befehl mit praktischen Beispielen

  5. rm-Befehlsbeispiele unter Linux

12 praktische Beispiele für In Command unter Linux

5 praktische Beispiele für Tail-Befehle unter Linux

Echo-Befehl unter Linux:7 praktische Beispiele

Linux rsync-Befehlsbeispiele

Praktischer Ping-Befehl in Linux-Beispielen

id-Befehlsbeispiele in Linux