So verwenden Sie rsync zum Kopieren von Dateien

How Use Rsync Copy Files



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:







  • Datei/Verzeichnis innerhalb des lokalen Systems kopieren
  • Datei/Verzeichnis vom lokalen auf das entfernte System kopieren
  • Datei/Verzeichnis vom entfernten System nach lokal kopieren

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



Rsync installieren

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



$sudogeeignetInstallierenrsync

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[Möglichkeit] [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.txt vom aktuellen Speicherort, dem Home-Verzeichnis, in das Verzeichnis ~/Documents zu kopieren, lautet der Befehl:

$rsync/Heimat/glauben/Datei1.txt/Heimat/glauben/Unterlagen

Hinweis: Anstelle von /home/tin/file1.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 anzugeben.

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 beispielsweise die Dateien file2.txt und file3.txt aus dem Home-Verzeichnis in das Verzeichnis ~/Documents zu kopieren, lautet der Befehl:

$rsync/Heimat/glauben/file2.txt/Heimat/glauben/file3.txt/Heimat/glauben/Unterlagen

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

$rsync/Heimat/glauben/ *.zip ~/Unterlagen

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 Beispielverzeichnis in das Verzeichnis test/ innerhalb des Home-Verzeichnisses zu kopieren, lautet der Befehl:

$rsync-von /Heimat/glauben/Stichprobe/Heimat/glauben/Prüfung

Hinweis: Die Angabe von / nach dem Quellverzeichnis kopiert nur den Inhalt des Verzeichnisses. Wenn wir das /nach dem Quellverzeichnis nicht 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 sample anstelle von sample/ als Quellverzeichnis 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-zu --maximale Größe=2000k/Heimat/glauben/Downloads/ * /Heimat/glauben/Unterlagen

Dieser Befehl kopiert alle Dateien von ~/Downloads in das Verzeichnis ~/Documents, mit Ausnahme derer, 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 von 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-zu --min-Größe=5M/Heimat/glauben/Downloads/ /Heimat/glauben/Unterlagen

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 ZIP-Dateien beim Kopieren von Dateien aus dem Verzeichnis ~/Downloads in das Verzeichnis ~/Documents auszuschließen, lautet der Befehl:

$rsync-zu --ausschließen='*.Postleitzahl' /Heimat/glauben/Downloads/ /Heimat/glauben/Unterlagen

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:

  • Rsync sowohl auf dem lokalen als auch auf dem Remote-System installiert
  • SSH-Zugriff auf das Remote-System
  • Passwort für Remote-Benutzer

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

$sshremote_user@remote_ip


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

$rsync[Möglichkeit] [Quelle] [Remotebenutzer@remoteip: Ziel]

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

$rsync-v~/Downloads/file1.txt umara@192.168.72.164:~/Unterlagen

Um 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 umra@192.168.72.164:~/Downloads/Proben

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

$rsync-vumara@192.168.72.164:~/Downloads/file2.txt ~/Desktop/

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

$rsync-rvumara@192.168.72.164:~/Downloads/Probe ~/Desktop/Prüfung

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 große Auswahl an Optionen, die Ihnen Flexibilität und Kontrolle beim Übertragen von Dateien zum/vom Remote-System bietet.