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/UnterlagenHinweis: 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/UnterlagenUm 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 ~/UnterlagenVerzeichnisse 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üfungHinweis: 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/UnterlagenDieser 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/UnterlagenDieser 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/UnterlagenKopieren 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:
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:~/UnterlagenUm 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/ProbenSie 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üfungSie 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.