rsync

So verwenden Sie rsync zum Kopieren von Dateien

So verwenden Sie rsync zum Kopieren von Dateien
Rsync ist ein Befehlszeilentool in Linux, das verwendet wird, um Dateien von einem Quellspeicherort an einen Zielspeicherort zu kopieren. Sie können Dateien, Verzeichnisse und das gesamte Dateisystem kopieren und die Dateien zwischen verschiedenen Verzeichnissen synchron halten. Es macht mehr als nur die Dateien zu kopieren. Es reduziert die über das Netzwerk gesendete Datenmenge, indem nur die Dateien gesendet werden, die neu oder aktualisiert sind. Aus diesem Grund gilt es als großartiges Dienstprogramm zum Kopieren und Sichern von Dateien. Rsync unterstützt auch das Kopieren von Dateien auf ein Remote-System über SSH.

In diesem Artikel erklären wir anhand einiger praktischer Beispiele, wie Sie rsync zum Kopieren von Dateien verwenden. Wir werden auch die Verwendung von rsync beim Kopieren einer einzelnen Datei, mehrerer Dateien und eines Verzeichnisses auf lokale und entfernte Systeme erklären. Wir werden behandeln, wie Sie Rsync verwenden, um:

Wir haben die in diesem Artikel erwähnten Befehle und Verfahren auf einem Ubuntu 20 . erklärt.04 LTS. Sie benötigen das Befehlszeilenterminal zum Kopieren von Dateien mit rsync. Um die Befehlszeilen-Terminalanwendung zu öffnen, verwenden Sie die Tastenkombination Strg+Alt+T.

Rsync installieren

Rsync ist in Ubuntu 20 . vorinstalliert.04 LTS. Sollte es jedoch versehentlich aus dem System entfernt werden, können Sie es wie folgt installieren:

$ sudo apt install rsync

Hier sind einige der am häufigsten verwendeten Optionen, die mit rsync verwendet werden können:

-a: Archivmodus
-v: zeigt Details zum Kopiervorgang an
-p: zeigt den Fortschrittsbalken an
-r: kopiert Daten rekursiv
-z: komprimiert Daten
-q: Ausgabe unterdrücken

Dateien und Verzeichnisse lokal kopieren

Die allgemeine Syntax von rsync ist:

$ rsync [Option] [Quelle] [Ziel]

Eine einzelne Datei lokal kopieren

Wenn Sie eine Datei innerhalb Ihres Systems von einem Speicherort an einen anderen kopieren möchten, können Sie dies tun, indem Sie eingeben rsync gefolgt vom Quelldateinamen und dem Zielverzeichnis.

Um beispielsweise eine einzelne Datei „file1“ zu kopieren.txt“ vom aktuellen Speicherort, der das Home-Verzeichnis ist, in das Verzeichnis ~/Documents, lautet der Befehl:

$rsync /home/tin/file1.txt /home/tin/Dokumente

Hinweis: Statt „/home/tin/file1file.txt“, können wir auch „file1“ eingeben, da wir gerade im Home-Verzeichnis arbeiten. Außerdem können wir ~/Documents verwenden, anstatt den vollständigen Pfad als "/home/tin/Documents" zu erwähnen.

Mehrere Dateien lokal kopieren

Wenn Sie mehrere Dateien gleichzeitig von einem Speicherort an einen anderen innerhalb Ihres Systems kopieren möchten, können Sie dies tun, indem Sie . eingeben rsync gefolgt vom Namen der Quelldatei und dem Zielverzeichnis.

Um zum Beispiel die Dateien „file2“ zu kopieren.txt“ und „Datei3“.txt“ vom Home-Verzeichnis in das Verzeichnis ~/Documents, lautet der Befehl:

$rsync /home/tin/file2.txt /home/tin/file3.txt /home/tin/Dokumente

Um alle Dateien mit derselben Erweiterung zu kopieren, können Sie das Sternchen (*)-Symbol verwenden, anstatt die Dateinamen einzeln anzugeben specify. Um beispielsweise alle Dateien aus dem Home-Verzeichnis zu kopieren, die mit „.zip“-Erweiterung in das Verzeichnis ~/Documents, verwenden wir:

$rsync /home/tin/*.zip ~/Dokumente

Verzeichnisse lokal kopieren

Wenn Sie ein Verzeichnis mit seinem Unterverzeichnis und allen Inhalten von einem Ort an einen anderen innerhalb Ihres Systems kopieren möchten, können Sie dies tun, indem Sie rsync gefolgt vom Quell- und Zielverzeichnis.

Um beispielsweise das Verzeichnis „sample“ in das Verzeichnis „test/“ innerhalb des Home-Verzeichnisses zu kopieren, lautet der Befehl:

$ rsync -av /home/tin/sample /home/tin/test

Hinweis: Die Angabe von „/“ nach dem Quellverzeichnis kopiert nur den Inhalt des Verzeichnisses. Wenn wir nach dem Quellverzeichnis kein „/“ angeben, wird das Quellverzeichnis auch in das Zielverzeichnis kopiert.

Wie in der folgenden Ausgabe sehen Sie, dass auch unser Quellverzeichnis „sample“ in das Zielverzeichnis kopiert wird (da wir als Quellverzeichnis „sample“ statt „sample/“ verwendet haben).

Rsync unterstützt die inkrementelle Übertragung, wie Sie in der obigen Ausgabe sehen können, dass es nur die Dateien überträgt, die neu oder aktualisiert sind.

Kopieren Sie Dateien basierend auf der maximalen Größe

Beim Kopieren können wir auch die maximale Größe der Dateien angeben, die mit der Option „-max-size“ kopiert werden können. Um beispielsweise Dateien mit einer Größe von nicht mehr als 2000 KB aus dem Verzeichnis ~/Downloads in das Verzeichnis ~/Documents zu kopieren, lautet der Befehl:

$ rsync -a --max-size=2000k /home/tin/Downloads/* /home/tin/Documents

Dieser Befehl kopiert alle Dateien von ~/Downloads in das Verzeichnis ~/Documents außer denen, die größer als 2000k . sind.

Kopieren Sie Dateien basierend auf der Mindestgröße

Ebenso können wir mit der Option „-min-size“ die Mindestgröße der Dateien angeben, die kopiert werden können. Um beispielsweise die Dateien, die nicht kleiner als 5 MB sind, von ~/Downloads in das Verzeichnis ~/Documents zu kopieren, lautet der Befehl:

$ rsync -a --min-size=5M /home/tin/Downloads/ /home/tin/Documents

Dieser Befehl kopiert alle Dateien von ~/Downloads in das Verzeichnis ~/Documents außer denen, die kleiner als 5 MB sind.

Dateien ausschließen

Beim Kopieren von Dateien von einem Verzeichnis in ein anderes können Sie einige Dateien mit der Option „-exclude“ gefolgt vom Dateinamen oder der Erweiterung des Dateityps ausschließen.

Um beispielsweise alle auszuschließen .zip-Dateien beim Kopieren von Dateien aus dem Verzeichnis ~/Downloads in das Verzeichnis ~/Documents lautet der Befehl:

$ rsync -a --exclude="*.zip" /home/tin/Downloads/ /home/tin/Dokumente

Kopieren Sie Dateien und Verzeichnisse aus der Ferne

Mit Rsync können Sie eine einzelne Datei, mehrere Dateien und Verzeichnisse auf ein Remote-System kopieren. Um Dateien und Verzeichnisse aus der Ferne zu kopieren, benötigen Sie:

Stellen Sie vor dem Kopieren von Dateien mit rsync sicher, dass Sie über SSH auf das Remote-System zugreifen können:

$ ssh remote_user@remote_ip


Die allgemeine Syntax zum Kopieren von Dateien und Verzeichnissen auf ein Remote-System mit rsync:

$ rsync [Option] [Quelle] [Remoteuser@remoteip:Ziel]

Um beispielsweise eine einzelne Datei „Datei“ zu kopieren.txt“ von ~/Downloads in das Verzeichnis ~/Documents des Remote-Systems, lautet der Befehl:

$ rsync -v ~/Downloads/file1.txt [email protected]:~/Dokumente

Um analog das Verzeichnis „~/Downloads/files“ in einem lokalen System mit seinem Unterverzeichnis und allen Inhalten in das Verzeichnis „~/Downloads/samples“ auf dem Remote-System zu kopieren:

$ rsync -rv ~/Downloads/Dateien [email protected]:~/Downloads/Beispiele

Sie können die Dateien und Verzeichnisse auch vom Remote-Computer auf Ihren lokalen Computer kopieren. Um zum Beispiel eine „Datei2“ zu kopieren.txt“ vom Remote-System auf den Desktop des lokalen Systems:

$ rsync -v [email protected]:~/Downloads/Datei2.txt ~/Desktop/

Ebenso, um ein Verzeichnis vom Remote-System auf das lokale System zu kopieren

$ rsync -rv [email protected]:~/Downloads/Beispiel ~/Desktop/Test

Sie können auch alle Optionen wie -max-size, -min-size, -exclude und andere verwenden, während Sie Dateien zum/vom Remote-System kopieren.

Rsync ist ein großartiges Tool zum Kopieren von Dateien von der Quelle zum Ziel, entweder lokal oder aus der Ferne. Es enthält eine Vielzahl von Optionen, die Ihnen Flexibilität und Kontrolle beim Übertragen von Dateien zum/vom Remote-System bieten.

Schlacht um Wesnoth 1.13.6 Entwicklung veröffentlicht
Schlacht um Wesnoth 1.13.6, das letzten Monat veröffentlicht wurde, ist die sechste Entwicklungsversion im 1.13.x-Serie und bietet eine Reihe von Verb...
So installieren Sie League of Legends auf Ubuntu 14.04
Wenn Sie ein Fan von League of Legends sind, dann ist dies eine Gelegenheit für Sie, League of Legends zu testen. Beachten Sie, dass LOL von PlayOnLin...
Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...