Terminal Tuts

Top 20 Rsync-Beispiele in Linux

Top 20 Rsync-Beispiele in Linux

Der Befehl Rsync (Remote Sync) ist ein Linux/Unix-Dienstprogramm zum Synchronisieren und Kopieren von Dateien und Verzeichnissen entweder lokal oder remote. Die meisten Linux-Geeks verwenden Rsync, um Daten über Ordner, Festplatten und Netzwerke hinweg zu spiegeln, zu sichern oder zu migrieren. Eine bemerkenswerte Funktion des Rsync-Befehls ist, dass er den „Delta-Übertragungsalgorithmus“ verwendet.”

Der Delta-Transfer-Algorithmus funktioniert durch die Aktualisierung des Zielverzeichnisses mit dem Inhalt des Quellziels. Wenn im Quellverzeichnis eine Änderung oder eine neue Datei erstellt wird, wird beim Ausführen des Rsync-Befehls nur die jeweilige Änderung in das Zielverzeichnis kopiert. Um Dateien und Verzeichnisse zwischen dem lokalen und einem entfernten Computer zu synchronisieren, verwendet Rsync SSH.

Rsync unter Linux installieren

Der Rsync-Befehl ist in den meisten Linux-Betriebssystemen vorinstalliert. Dies ist jedoch bei einigen minimalen Installationen möglicherweise nicht der Fall. Sie können Rsync installieren, indem Sie die folgenden Befehle in einem Terminal ausführen.

Auf CentOS & RHEL

yum installiere rsync -y

Auf Ubuntu und anderen Debian-Distributionen

sudo apt install rsync -y

Rsync Basic-Syntax

rsync-Optionen Quellziel

Einige der Standardoptionen/Parameter, die mit dem Rsync-Befehl verwendet werden:

-v: -verbose Ausführliche Ausgabe
-r: kopiert Daten rekursiv
-z: Dateidaten komprimieren
-h: Ausgabe in einem für Menschen lesbaren Format
-a: Dateien und Verzeichnis beim Synchronisieren archivieren
-progress Zeigt den Fortschritt der aktuell ausgeführten Rsync-Aufgaben an.

Sie können alle für den Rsync-Befehl verfügbaren Optionen mit der Option „-help“ anzeigen.

$rsync --help

Rsync-Hilfebefehl

Top 20 Rsync-Beispiele in Linux

Beginnen wir mit diesen detaillierten Informationen mit 20 nützlichen Rsync-Beispielbefehlen, die Sie mit Linux-Systemen verwenden können. Unser bevorzugtes Betriebssystem ist Ubuntu 20.04 LTS; die Syntax sollte jedoch auch für andere Linux-Distributionen mit installiertem Rsync funktionieren.

1. Dateien lokal kopieren/synchronisieren mit der Option -v (ausführlich)

Das ist der grundlegendste Rsync-Befehl, sogar für einen Neuling. In diesem Beispiel kopieren wir Dateien zwischen den 'Original'-Verzeichnis auf dem Desktop zum 'Sicherung'-Verzeichnis im '/etc.' Mappe. Wir werden die Option -v (Verbose) einfügen, damit rsync Informationen darüber bereitstellen kann, was vor sich geht.

rsync -v Original/

rsync -v (ausführlicher) Befehl

Bei Rsync ist zu beachten, dass es automatisch erstellt wird, wenn das Zielverzeichnis nicht existiert. Sehen wir uns das Beispiel unten an, in dem wir Dateien in das Verzeichnis kopieren möchtenFoss„das gibt es nicht.

Erstellen Sie ein Verzeichnis mit Rsync

2. Dateien und Verzeichnisse rekursiv mit der Option -r synchronisieren/kopieren

Im obigen Befehl, Wenn ein Verzeichnis im 'Original' Ordner, würde er übersprungen. Das ist im Bild unten dargestellt.

Grundlegender Rsync-Befehl

Um dies zu umgehen, verwenden Sie die Option -r (rekursiv).

Dateien rekursiv synchronisieren mit -r

3. Synchronisieren/Kopieren von Dateien zwischen dem lokalen Computer und dem Remote-Computer

Bevor Sie diese Aufgabe ausführen, müssen Sie einige Parameter des entfernten Servers/Rechners kennen: die IP-Adresse, den Benutzernamen und das Benutzerpasswort.

Die grundlegende Syntax, die wir verwenden werden, ist:

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

Lassen Sie uns Dateien aus unserem 'Original'-Verzeichnis auf dem Desktop zu einem Remote-Server.

Synchronisieren/Kopieren von Dateien aus der Ferne mit Rsync

4. Dateien und Verzeichnisse von einem Remote-Server auf Ihren lokalen PC synchronisieren/kopieren to

Genau wie beim vorherigen Befehl müssen wir die IP-Adresse des Remote-Servers kennen. In diesem Beispiel synchronisieren wir Dateien im 'Sicherung'-Ordner im Home-Verzeichnis des Servers auf unseren lokalen PC.

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

Sync-Kopieren Sie die Datei von einem Remote-Server auf einen lokalen Computer

5. Verwenden Sie Rsync über SSH mit der Option -e

Um die Sicherheit von Dateien und Ordnern zu gewährleisten, verwenden wir das Rsync over Secure Shell Protocol (SSH). Darüber hinaus bietet SSH bei der Bereitstellung des Root-/Benutzerpassworts Verschlüsselungsdienste, um sicherzustellen, dass sie sicher sind.

Um SSH zu verwenden, fügen wir die Option -e hinzu, die das Protokoll angibt, das wir verwenden möchten.

 rsync -vre ssh Original/* [email protected]:/home/tuts

Verwenden Sie Rsync über SSH

6. Fortschritt mit dem Rsync-Befehl anzeigen

In Situationen, in denen Sie mehrere Dateien oder eine riesige Datei kopieren, wäre es effizient, den Fortschritt zu kennen. Glücklicherweise bietet rsync diese Option - die '-Fortschritt' Möglichkeit.

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

Fortschritt mit Rsync anzeigen

7. Verwenden Sie Rsync mit der Option '-include'

Es gibt Situationen, in denen Sie nur bestimmte Dateien synchronisieren möchten. Mit dem Rsync-Befehl verursachen Sie die '-einschließen' Möglichkeit die Aufgabe auszuführen. In diesem Beispiel werden wir nur Dateien synchronisieren, die mit dem Buchstaben „I“ beginnen starting.

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

Verwenden Sie die Option -include mit Rsync

8. Verwenden Sie Rsync mit der Option '-exclude', um bestimmte Dateien zu ignorieren

Mit dem Rsync'-ausschließen' können Sie Dateien ausschließen, die Sie nicht synchronisieren/kopieren möchten. In diesem Beispiel möchten wir alle Dateien ignorieren, die mit dem Buchstaben 'I' beginnen.

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

Verwenden Sie Rsync mit der Option '-exclude'

Alternativ können Sie beide Optionen in einem Befehl verwenden. Siehe das Beispiel unten.

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

Wir schließen alle Dateien aus, außer denen, die mit dem Buchstaben 'I . beginnen.'

Verwenden Sie die Optionen -include und -excludecl

9. Verwenden Sie Rsync mit dem Befehl -delete

Es gibt Situationen, in denen Dateien im Zielverzeichnis vorhanden sind, aber nicht im Quellordner. Für die Synchronisation ist es am besten, solche Dateien zuerst aus dem Zielverzeichnis zu entfernen. Glücklicherweise kommt Rsync mit dem '-löschen' Option, die dies automatisch tut.

Wenn eine Datei im Zielverzeichnis vorhanden ist, aber keine in der Quelle, wird sie gelöscht.

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

Verwenden Sie Rsync mit der Option-löschen

10. Legen Sie die maximale Größe der Dateien fest, die mit Rsync übertragen werden sollen

Wenn Sie Speicherplatz oder Bandbreite für die Remote-Dateisynchronisierung benötigen, müssen Sie die Option '-max-size' mit dem Rsync-Befehl verwenden. Mit dieser Option können Sie die maximale Größe einer Datei festlegen, die kopiert werden kann.

Zum Beispiel ein '-maximale Größe=100k' überträgt nur Daten kleiner oder gleich 100 Kilobyte.

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

Legen Sie die maximale Größe mit dem Rsync-Befehl fest

11. Quelldateien nach erfolgreicher Übertragung automatisch löschen

Nehmen Sie eine Situation, in der Sie einen Remote-Backup-Server und ein Backup-Verzeichnis auf Ihrem PC haben. Sie sichern Daten im Backup-Ordner auf Ihrem PC, bevor Sie sie mit dem Backup-Server synchronisieren. Nach jeder Synchronisation müssen Sie die Daten im Backup-Verzeichnis löschen.

Glücklicherweise können Sie dies automatisch mit dem '--Quelldateien entfernen' Möglichkeit.

Quelldateien nach erfolgreicher Übertragung löschen

Durch Ausführen eines 'ls'-Befehls im Quellordner bestätigen wir, dass die Dateien tatsächlich gelöscht wurden.

12. Führen Sie einen Probelauf mit Rsync . durch

Für Neulinge, die sich mit dem Rsync-Befehl nicht sicher sind, können Sie den Inhalt Ihres Zielverzeichnisses durcheinander bringen, und das Rückgängigmachen könnte genauso mühsam sein. Mit dem '-Probelauf'-Option gibt der Rsync-Befehl eine Ausgabe dessen aus, was ausgeführt wird, aber er wird es nicht tun.

Daher können Sie sich diese Ausgabe ansehen, wenn sie das ist, was Sie erwarten, bevor Sie das ' entfernen-Probelauf' Möglichkeit.

rsync -vr --dry-run Original/* [email protected]:/home/tuts/Backup

Führen Sie einen Probelauf mit Rsync durch

13. Legen Sie die Bandbreitenbeschränkung fest, die zum Übertragen von Dateien erforderlich ist.

Wenn Sie sich in einem gemeinsam genutzten Netzwerk befinden oder mehrere Programme ausführen, die eine Internetverbindung benötigen, ist es effizient, eine Bandbreitenbeschränkung festzulegen, die zum Synchronisieren/Kopieren von Dateien aus der Ferne erforderlich ist. Wir können dies mit dem Rsync tun '-bwlimit' Möglichkeit.

Diese Rate wird in Kilobyte berechnet. Daher, wenn '-bwlimit=1000' bedeutet, dass nur 1000 KB pro Sekunde übertragen werden können.

rsync -vr --bwlimit=1000 Original/* [email protected]:/home/tuts/Backup

Legen Sie das Bandbreitenlimit fest, das zum Übertragen von Dateien erforderlich ist

14. Synchronisieren Sie die gesamten Dateien mit Rsync

Standardmäßig synchronisiert Rsync nur die geänderten Blöcke und Bytes. Wenn Sie also zuvor eine Textdatei synchronisiert und später beim Synchronisieren einige Texte zur Quelldatei hinzugefügt haben, wird nur der eingefügte Text kopiert. Wenn Sie die gesamte Datei erneut synchronisieren möchten, müssen Sie die Option '-W' verwenden.

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

Synchronisieren Sie eine ganze Datei mit Rsync

fünfzehn. Geänderte Dateien im Zielverzeichnis nicht synchronisieren/kopieren

Es gibt Situationen, in denen Sie Änderungen an Dateien im Zielordner vorgenommen haben. Wenn Sie einen Rsync-Befehl ausführen, werden diese Änderungen von denen in der Quelldatei überschrieben. Um dies zu vermeiden, verwenden Sie die Option '-u'.

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

Verwenden Sie die Option 'u', um zu vermeiden, dass Dateien im Zielordner geändert werden

16. Verwenden Sie Rsync mit der Option -i, um den Unterschied in den Dateien zwischen Quelle und Ziel anzuzeigen

Wenn Sie wissen möchten, welche neuen Änderungen am Zielverzeichnis vorgenommen werden, verwenden Sie die Option '-i', die den Dateiunterschied zwischen Quell- und Zielverzeichnis anzeigt.

rsync -avzi Original/ Backup/

Verwenden Sie die Option -i, um den Unterschied in den Dateien anzuzeigen

Bilden Sie die Ausgabe im obigen Bild und wir sehen eine Datei namens 'heloo.py' nicht im Zielverzeichnis vorhanden. Schauen wir uns einige dieser Parameter an.

d: zeigt eine Änderung in der Zieldatei an
f: repräsentiert eine Datei
t: zeigt eine Änderung der Zeitstempel an
s: zeigt eine Änderung der Dateigröße an

17. Verwenden Sie Rsync nur zum Kopieren der Verzeichnisstruktur

Sie können Rsync verwenden, um nur die Verzeichnisstruktur zu synchronisieren, wenn Sie nicht an den Dateien interessiert sind. Wir müssen die Parameter -f"+ */" ​​-f"- *" vor dem Quellverzeichnis verwenden.

rsync -av -f"+ */" ​​-f"- *" /home/tuts/Desktop/Original/ /home/tuts/Dokumente/

Verwenden Sie Rsync, um eine Verzeichnisstruktur zu kopieren

18. Datumsstempel zum Verzeichnisnamen hinzufügen

Wenn Sie verfolgen möchten, wann Übertragungen stattgefunden haben, ohne die Verzeichniseigenschaften zu öffnen, können Sie einem Verzeichnisnamen einfach ein Datum hinzufügen. Dadurch wird allen Synchronisierungen, die Sie mit Rsync durchführen, ein Datumsstempel hinzugefügt.

Dazu werden wir anhängen $(Datum +\\%Y-\\%m-\\%d) zum Zielverzeichnis.

sudo rsync -rv Original/ /etc/$(Datum +\\%Y-\\%m-\\%d)

Hinzufügen eines Datumsstempels zu einem Verzeichnis

19. Eine einzelne Datei lokal kopieren

Um eine einzelne Datei mit Rsync zu synchronisieren/kopieren, müssen Sie den Dateipfad gefolgt vom Zielverzeichnispfad angeben.

rsync -v Original/heloo.py-Backup/

Synchronisieren Sie eine einzelne Datei lokal

20. Mehrere Dateien aus der Ferne kopieren

Um mehrere Dateien gleichzeitig zu kopieren, müssen Sie den Pfad zu allen angeben. Diese Methode ist nur für eine kleine Anzahl von Dateien effizient.

rsync -vr /home/tuts/Desktop/Original/heloo.py /home/tuts/Desktop/Backup/index.html [email protected]:/home/tuts/Backup

Mehrere Dateien gleichzeitig kopieren

Hier geht es um die 20 wichtigsten nützlichen Rsync-Beispiele, mit denen Sie Dateien und Verzeichnisse sowohl lokal als auch remote synchronisieren können. Fühlen Sie sich frei, Ihr Feedback und Ihre Kommentare unten zu hinterlassen.

Microsoft Sculpt Touch Wireless-Maus Bewertung
Ich habe vor kurzem gelesen, dass Microsoft Sculpt Touch kabellose Maus und beschloss, sie zu kaufen. Nachdem ich es eine Weile benutzt hatte, beschlo...
AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...