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

So verwenden Sie den Befehl rsync, um Daten lokal und über SSH zu kopieren

Das Kopieren von Dateien von einem Speicherort zu einem anderen ist eine ziemlich einfache Aufgabe und kann leicht mit dem Befehl cp erreicht werden. Allerdings muss man manchmal etwas mehr tun. Hier kommt der rsync-Befehl zum Einsatz, insbesondere wenn Sie größere Dateien übertragen. Rsync (Remote Sync) ist ein Linux-basiertes Befehlszeilentool, das zum Synchronisieren und Kopieren von Dateien zwischen lokalen und Remote-Servern verwendet werden kann. Es ermöglicht die Synchronisierung von Dateien zwischen zwei Verzeichnissen auf demselben Computer, zwischen den Verzeichnissen auf zwei verschiedenen Computern im selben Netzwerk, zwischen zwei Verzeichnissen auf dem Remote-System.

Der große Vorteil von rsync besteht darin, dass es nicht den gesamten Inhalt blind kopiert, sondern nur die Unterschiede zwischen Quelle und Ziel analysiert und überträgt, wodurch möglicherweise Systemressourcen und Bandbreite eingespart werden. Einige andere Vorteile von rsync sind wie folgt:

  • Komprimiert die Dateien vor der Übertragung
  • Kann während der Datenübertragung den Fortschrittsbalken anzeigen
  • Der Kopiervorgang kann angehalten und später fortgesetzt werden
  • Ermöglicht die Übertragung über eine SSH-Verbindung

In diesem Artikel erklären wir, wie Sie rsync zum Kopieren von Daten unter Linux verwenden. Wir werden Debian 10 verwenden, um das in diesem Artikel erwähnte Verfahren zu beschreiben.

Installation von Rsync

Rsync ist in den meisten Linux-Betriebssystemen standardmäßig installiert. Wenn es jedoch nicht installiert ist, können Sie es installieren, indem Sie die folgenden Schritte ausführen:

Starten Sie die Terminal-Anwendung in Ihrem System, indem Sie zu den Aktivitäten gehen Registerkarte in der oberen linken Ecke Ihres Debian-Desktops. Geben Sie dann in der Suchleiste Terminal ein . Wenn das Terminal-Symbol erscheint, klicken Sie darauf, um es zu starten.

Führen Sie nun den folgenden Befehl im Terminal aus, um das rsync-Dienstprogramm zu installieren:

$ apt install rsync

Rsync verwenden

Jeder rsync-Befehl beginnt mit rsync gefolgt von einer Option, in der Sie verschiedene Parameter angeben können. Rsync bietet eine Reihe von Optionen, mit denen Sie die Übertragungsspezifikationen steuern können. Dann gibt es eine Quelle und ein Ziel, die davon abhängen, ob es sich um eine entfernte oder eine lokale Maschine handelt.

Die grundlegende Syntax von rsync ist:

$ rsync [option] [source] [destination]

Einige der allgemeinen Optionen, die mit rsync-Befehlen verwendet werden:

  1. -v :ausführlich
  2. -a :Archivmodus, ermöglicht das rekursive Kopieren von Dateien und bewahrt symbolische Links, Dateiberechtigungen, Benutzer- und Gruppeneigentumsrechte und Zeitstempel
  3. -z :komprimiert Daten
  4. -h :für Menschen lesbar, gibt Zahlen in einem für Menschen lesbaren Format aus
  5. –max-size= SIZE, Dateien mit der angegebenen Mindestgröße übertragen
  6. –min-size= SIZE, überträgt Dateien mit der angegebenen maximalen SIZE

Nun erklären wir einige Beispiele für die Verwendung von rsync mit diesen Optionen.

Dateien und Verzeichnisse auf den lokalen Server kopieren

Dateien lokal kopieren

Sie können einzelne oder mehrere Dateien aus einem Quellverzeichnis in das Zielverzeichnis auf demselben Computer kopieren. Das Beispiel wäre, alle .jpg zu kopieren Dateien aus ~/Downloads in das Verzeichnis ~/Documents Verzeichnis mit dem folgenden Befehl:

$ rsync -zvh /home/tin/Downloads/*.jpg /home/tin/Documents

Nachdem Sie den obigen Befehl ausgeführt haben, werden alle .jpg Dateien im Quellverzeichnis /home/tin/Downloads wird in das Zielverzeichnis /home/tin/Documents kopiert .

Im obigen Beispiel haben wir Optionen wie -z verwendet für Komprimierung -v für ausführliche Ausgabe und -h für menschenlesbare Ausgabe.

Verzeichnisse lokal kopieren

Ähnlich wie bei Dateien können Sie auch den gesamten Ordner und die in einem Verzeichnis enthaltenen Dateien mit dem Befehl rsync kopieren. Ein Beispiel wäre, alle Dateien aus ~/Downloads zu kopieren in das Verzeichnis ~/Documents Verzeichnis mit dem folgenden Befehl:

$ rsync -zavh /home/tin/Downloads/ /home/tin/Documents

Dateien auf einen Remote-Server kopieren

Sie können einzelne oder mehrere Dateien von einem Quellverzeichnis in ein Zielverzeichnis auf einem Remote-Computer kopieren. Um beispielsweise die Dateien von einem lokalen auf einen entfernten Computer zu kopieren, verwenden Sie die folgende Befehlssyntax:

$ rsync [options] [local path] [user]@[remote server]:[remote path]

Kopieren von Dateien basierend auf der maximalen Größe

Sie können auch die maximale Größe der Datei angeben, die mit rsync von der Quelle zum Ziel kopiert werden kann. Verwenden Sie dazu die folgende Befehlssyntax:

$ rsync --max-size=”” [source] [destination]

Ein Beispiel wäre das Kopieren von Dateien mit einer maximalen Größe von 4000 KB aus der Quelle ~/Downloads zum Ziel ~/Dokumente Verzeichnis. In diesem Fall werden Dateien mit einer Größe von mehr als 4000 KB nicht zum Ziel kopiert.

$ rsync --max-size=4000k /home/tin/Downloads/*.iso /home/tin/Documents/

Kopieren von Dateien basierend auf der Mindestgröße

Ebenso können Sie mit rsync auch die Mindestgröße angeben, die von der Quelle zum Ziel kopiert werden kann. Verwenden Sie dazu die folgende Befehlssyntax:

$ rsync --min-size=”” [source] [destination]

Ein Beispiel hierfür wäre das Kopieren von Dateien mit einer maximalen Größe von 2 MB aus der Quelle ~/Downloads zum Ziel ~/Dokumente Verzeichnis. Dateien mit einer Größe von weniger als 2 MB werden nicht mit rsync kopiert.

$ rsync --min-size=2M /home/tin/Downloads/*.iso /home/tin/Documents/

Fortschritt anzeigen

Sie können auch den Fortschritt beim Kopieren von Dateien mit rsync anzeigen. Fügen Sie –Fortschritt hinzu Flag nach dem rsync-Befehl wie unten gezeigt:

$ rsync --progress [source] [destination]

Ein Beispiel wäre das Anzeigen des Fortschritts beim Kopieren einer Datei aus der Quelle ~/Downloads zum Ziel ~/Dokumente Verzeichnis:

$ rsync --progress /home/tin/Downloads/VTS_03_1.VOB /home/tin/Documents

Dateien ausschließen

Sie können auch bestimmte Dateien ausschließen, während Sie die Dateien mit rsync von der Quelle zum Ziel kopieren. Ein Beispiel wäre das Ausschließen aller PDF-Dateien beim Kopieren von Dateien aus der Quelle ~/Downloads zum Ziel ~/Dokumente Verzeichnis.

rsync -zavh --exclude="*.pdf" /home/tin/Downloads/ /home/tin/Documents

Durch Eingabe des folgenden Befehls werden alle Dateien außer .pdf von der Quelle zum Ziel kopiert Dateien.

Das ist alles, was dazu gehört! Wir haben die grundlegende Verwendung des Dienstprogramms rsync zum Kopieren von Dateien zwischen verschiedenen Verzeichnissen lokal und remote erklärt. Wir haben auch einige allgemeine und nützliche rync-Optionen erklärt. Es gibt so viele andere Optionen als diese, mit denen Sie jeden Aspekt des Übertragungsverhaltens steuern können. Informationen zur Verwendung dieser Optionen finden Sie in den Manpages von rsync.


Debian
  1. Herunterladen und Hochladen von Dateien über SSH

  2. Der Linux-rsync-Befehl:wie man ihn benutzt

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

  4. Wie kopiert man Dateien unter Linux und Unix? 10 cp Befehlsbeispiele

  5. Verwenden Sie ein Gerät über SSH?

So sichern Sie Dateien und Ordner in Debian 10

So installieren und verwenden Sie Okteta für RAW-Datendateien unter Linux

So verwenden Sie Docker Cp zum Kopieren von Dateien zwischen Host und Containern

So verwenden Sie Rsync und SSH in einer Docker-basierten GitLab-CI-Pipeline

So installieren und verwenden Sie MongoDB unter Debian 11

So verwenden Sie Rsync zum Kopieren/Synchronisieren von Dateien zwischen Servern