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

So verwenden Sie den Linux-Rsync-Befehl (Remote-Synchronisierung).

Der Linux-Befehl rsync überträgt und synchronisiert Dateien oder Verzeichnisse effizient zwischen einem lokalen Computer, einem anderen Host, einer Remote-Shell oder einer beliebigen Kombination davon. Jeder, der mit Linux-basierten Systemen arbeitet, sollte diesen leistungsstarken Befehl verwenden, um seine Produktivität zu verbessern. Mithilfe dieses Artikels erfahren Sie alles, was Sie für die Verwendung benötigen.

Das manuelle Synchronisieren von Ordnern oder das manuelle Kopieren von Dateien kann unglaublich zeitaufwändig sein. Das Dienstprogramm rsync kann die meiste Arbeit für Sie erledigen und gleichzeitig großartige Funktionen hinzufügen, um Zeit zu sparen. Selbst wenn Sie während der Übertragung die Verbindung verlieren, startet dieses Tool genau dort, wo es aufgehört hat, sobald die Verbindung wiederhergestellt ist.

Grundlegende Syntax

Die grundlegende Syntax für rsync funktioniert wie folgt:

rsync [optional modifiers] [SRC] [DEST]

Es gibt verschiedene Möglichkeiten, wie Sie Linux rsync verwenden können. In diesem Beispiel [optionale Modifikatoren] Geben Sie die zu ergreifenden Maßnahmen an, [SRC] ist das Quellverzeichnis und [DEST] ist das Zielverzeichnis oder die Zielmaschine.

Grundlegende Syntax für Remote-Shell

Wenn Sie eine Remote-Shell wie SSH oder RSH verwenden, ist die rsync-Syntax etwas anders.

Um auf die Remote-Shell zuzugreifen (PULL ) verwenden Sie den rsync-Befehl:

rsync [optional modifiers] [USER@]HOST:SRC [DEST]

Um auf die Remote-Shell zuzugreifen (PUSH ) verwenden Sie den rsync-Befehl:

rsync [optional modifiers] SRC [USER@]HOST:[DEST]

So überprüfen Sie die Rsync-Version

Bevor wir nach rsync suchen, müssen wir uns bei dem VPS anmelden, das wir verwenden werden. Dieses hilfreiche Tutorial zeigt Ihnen, wie Sie dies auf einem Windows-Computer mit Putty SSH tun. Wenn Sie einen MacOS- oder Linux-Computer verwenden, verwenden Sie stattdessen das Terminal.

Rsync ist bei vielen Linux-Distributionen vorinstalliert. Um zu überprüfen, ob rsync auf Ihrem Rechner installiert ist, führen Sie den folgenden Befehl aus:

rsync -version

Auf unserer Ubuntu-Distribution erzeugte der Befehl die folgende Ausgabe:

rsync  version 3.1.3  protocol version 31

Das bedeutet, dass rsync Version 3.1.3 bereits auf unserer Maschine ist. Einfach, oder?

So installieren Sie Rsync

Wenn auf Ihrem Computer rsync nicht vorinstalliert ist, können Sie dies in nur einer Minute manuell tun. Auf Debian basierte Distributionen wie Ubuntu, Sie können dies mit dem folgenden Befehl tun:

apt-get install rsync

Auf RPM-basierten Distributionen wie Fedora und CentOS Verwenden Sie folgenden Befehl:

yum install rsync

Unter MacOS Verwenden Sie folgenden Befehl:

brew install rsync

Das ist es! Linux rsync ist bereit, Daten zu synchronisieren, Dateiübertragungen durchzuführen und Dateien zu löschen. Ob die Installation erfolgreich war, können Sie mit dem zuvor erwähnten Befehl überprüfen:

rsync -version

So verwenden Sie Rsync-Befehle

Für dieses Tutorial erstellen wir auf unserem Linux-Desktop zwei Verzeichnisse mit den Namen original und duplizieren . Das Originalverzeichnis enthält drei Dateien, während das Duplikat leer ist. Sehen wir uns nun an, wie rsync neue Möglichkeiten zur Steigerung der Produktivität schaffen wird.

Verwenden Sie die folgenden Befehle, um zwei Testverzeichnisse zu erstellen:

cd ~
mkdir original
mkdir duplicate
touch original/file{1..3}

Wenn Sie es noch einmal überprüfen möchten, verwenden Sie das ls Befehl, um alle Dateien im Verzeichnis aufzulisten:

ls original

Die Ausgabe sieht etwa so aus:

file1
file2
file3

Wenn Sie die ls verwenden Befehl mit dem Verzeichnis duplizieren, der Ausblick sollte leer sein.

Nachdem die Verzeichnisse eingerichtet sind, probieren wir noch ein paar weitere Befehle aus.

Der folgende Befehl kopiert oder synchronisiert alle Dateien im Original Verzeichnis in das Duplikat Verzeichnis.

rsync original/* duplicate/

* weist den rsync-Befehl an, alles im Originalverzeichnis mit dem Duplikat zu synchronisieren.

Wenn wir ein neues Bild oder eine neue Datei im Originalordner ablegen und denselben Befehl erneut ausführen, wird nur das neue Bild an das Ziel kopiert.

Diese Funktion ist praktisch, wenn Sie Dateien über ein Netzwerk mit begrenzter Bandbreite kopieren.

Die häufigsten Rsync-Befehle

Hier ist eine Liste der am häufigsten mit rsync verwendeten Befehle:

Dies aktiviert den Archivmodus.

-a, --archive

Dadurch erhalten Sie eine visuelle Ausgabe, die den Fortschritt des Prozesses anzeigt.

-v, --verbose

Dies wird in einem für Menschen lesbaren Format ausgegeben.

-h, --human-readable format

Dadurch werden die Dateidaten während der Übertragung komprimiert.

-z, --compress

Dies dient zum rekursiven Kopieren von Daten

-r

So verwenden Sie Rsync-Befehle mit Unterverzeichnissen

Denken Sie daran, dass der obige Befehl nur Dateien vom Original kopiert Hauptverzeichnis des Ordners und nicht eines der Unterverzeichnisse.

Wenn Sie auch die Unterverzeichnisse kopieren möchten, müssen Sie diesen Befehl verwenden:

rsync -r original/ duplicate/

Das -r (–rekursiv ) weist rsync an, alles zu kopieren, einschließlich Unterverzeichnisse und die Dateien aus unserem ursprünglichen Ordner.

Die / Modifikator, der nach Original verwendet wird weist rsync an, zu kopieren den Inhalt des ursprünglichen Verzeichnisses in den doppelten Ordner.

So synchronisieren Sie Dateien

Wenn Sie Dateien synchronisieren möchten das Kopieren von Dateien, die sich im Zielordner befinden, aber nicht im Original in den Originalordner sind, verwenden Sie den folgenden Befehl:

rsync -r original duplicate/

Mit diesem Befehl können wir sicher sein, dass sowohl Original- als auch Duplikatordner dieselben Dateien enthalten.

So kombinieren Sie Rsync-Befehle

Eine weitere nützliche Option ist -a (–archive) da es mit vielen anderen Befehlen verbunden werden kann. Das bedeutet, dass nicht nur die Dateien kopiert werden, sondern auch die Berechtigungen, Änderungszeiten und alle anderen Daten.

Hinzufügen des -a Option mit -v würde ungefähr so ​​aussehen:

rsync -av --dry-run  original/ duplicate/

Keine Sorge, es sieht nur kompliziert aus. Lassen Sie es uns aufschlüsseln.

Dieser Befehl zeigt nur die Dateien an, die kopiert werden, ohne tatsächliche Änderungen vorzunehmen. Mit diesem Befehl erhalten Sie eine Liste der zu kopierenden Dateien.

Wenn alle Dateien kopiert werden sollen, führen Sie den Befehl ohne —dry-run erneut aus .

—Trockenlauf (oder -n ) lässt rsync einen Testlauf durchführen, der keine Änderungen vornimmt.

Weitere Optionen für Rysnc-Befehle

Beim Hinzufügen des -a Option zum -v Option, indem Sie -av erstellen in unserem Befehl, erhöht die Ausführlichkeit. So sollte es aussehen:

rsync -av original/ duplicate/

Wenn Sie zwei Ordner synchronisieren und die Elemente im doppelten Ordner löschen möchten, die im ursprünglichen Ordner nicht vorhanden sind, fügen Sie das –Löschen hinzu Option, etwa so:

rsync -av --delete  original/ duplicate/

Sie können auch ausschließen bestimmte Dateien oder Unterverzeichnisse, wenn Sie zwei Ordner synchronisieren. Tun Sie dies, indem Sie -exclude= hinzufügen . Wenn Sie mehr als eine Datei angeben müssen, trennen Sie sie durch ein Komma.

rsync -av --exclude=file1,file2  original/ duplicate/

Sie können auch einschließen bestimmte Dateien oder Unterverzeichnisse, wenn Sie synchronisieren. Fügen Sie dazu -include= hinzu . Sie können dies auch mit der Option -exclude=verwenden. Das folgende Beispiel enthält Dateien, die mit dem Buchstaben L beginnen und schließen Sie alle anderen Dateien aus:

rsync -av --include=L* --exclude=*  original/ duplicate/

Mit Rsync können Sie auch die Dateigröße angeben, die synchronisiert werden kann. Verwenden Sie dazu die –max-size Möglichkeit:

rsync -av --max-size=10k original/ duplicate/

Verwenden Sie die Option -z (–compress) konsolidiert die Dateien, die über das Netzwerk übertragen werden. Lassen Sie uns als Bonus sehen, wie Sie eine Übertragung vom Quellserver zu einem anderen durchführen. Der Befehl würde wie folgt aussehen:

rsync -az ~/Desktop/Original [email protected]:~/tmp/

Wie bereits erwähnt -z komprimiert die Dateien, -a , oder einfach ein an -z anhängen, wird sicherstellen, dass alle Berechtigungen ebenfalls kopiert werden.

~/Desktop/Original ist die Quelle. Es ist ein lokales Verzeichnis – dasjenige, das sich auf dem Computer befindet, an dem Sie angemeldet sind, und schließlich [email protected]:~/tmp/ zeigt das Ziel an. [email protected] ist die Ziel-Remote-Serveradresse, während :~/tmp/ verweist auf einen bestimmten Ordner auf diesem Computer.

So fügen Sie einen Fortschrittsbalken hinzu

Zusätzlich zu den obigen Befehlen können Sie -P hinzufügen die die Optionen –Fortschritt kombiniert und –teilweise . Dadurch erhalten Sie einen Fortschrittsbalken für die übertragenen Dateien und können auch unterbrochene Dateiübertragungen fortsetzen.

rsync -azP [SRC] [DEST]

Die Ausgabe sieht etwa so aus:

sending incremental file list
./
file1
         0 100%    0.00kB/s   0:00:00   (xfer#1, to-check=1/3)
file2
         0 100%    0.00kB/s   0:00:00   (xfer#2, to-check=2/3)
file3
         0 100%    0.00kB/s   0:00:00   (xfer#3, to-check=3/3)

Wenn wir den Befehl dann erneut ausführen, sehen wir eine kürzere Ausgabe. Dies liegt daran, dass keine neuen Änderungen vorgenommen wurden. Die Ausgabe sieht etwa so aus:

sending incremental file list
send 26 bytes received 5 bytes 1200.00 bytes/sec
total size is 0 speedup is 0.00

Wenn Sie nur bestimmte Dateien übertragen möchten, können Sie dies mit dem folgenden Befehl angeben:

touch original/file{1..5}
rsync -azP [SRC] [DEST]

Dies ergibt eine ähnliche Ausgabe wie der vorherige Befehl, aber nur mit den Dateien, die zwischen den geschweiften Klammern angegeben sind.

So erstellen Sie eine Rsync-Sicherung

Ein weiterer wichtiger Befehl ist das Erstellen einer Rsync-Sicherung. Kombinieren Sie dazu –backup mit dem –dir Befehl, damit Sie angeben können, wo die Sicherungsdateien gespeichert werden.

rsync -a --delete --backup --backup-dir=/path/to/backup /path/to/SRC [DEST]

Fazit

Wir haben nur die Spitze des Eisbergs abgedeckt, wenn es um Rsync-Befehle geht. Linux Rsync ist ein unglaublich leistungsfähiges Dienstprogramm, das jeder Serveradministrator oder Linux-Entwickler kennen sollte. Wir haben alles behandelt, um Ihnen den Einstieg zu erleichtern, von der Installation bis zu den grundlegenden Befehlen. Wenn Sie die erweiterten Funktionen kennenlernen möchten, lesen Sie die offizielle Dokumentation.

Machen Sie sich bereit, Ihre Produktivität zu verbessern. Viel Glück mit Ihrem Projekt.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den Su-Befehl unter Linux

  4. SCP-Befehl in Linux:Verwendung mit Beispielen

  5. Wie verwende ich den Rsync-Befehl unter Linux?

So verwenden Sie den Linux-nohup-Befehl

So verwenden Sie den Linux-FTP-Befehl zum Übertragen von Dateien

So verwenden Sie du Command unter Linux

So verwenden Sie den Befehl sysctl unter Linux

So verwenden Sie den Befehl zum Herunterfahren von Linux

So verwenden Sie grep unter Linux