Android

So übertragen Sie Dateien mit rsync über ssh

FTP Upload auf eine Western Digital WD MyCloud

FTP Upload auf eine Western Digital WD MyCloud

Inhaltsverzeichnis:

Anonim

Für die Übertragung von Dateien zwischen Systemen im Netzwerk stehen Linux- und Unix-Benutzern zahlreiche Tools zur Verfügung.

Die beliebtesten Protokolle für die Datenübertragung sind SSH und FTP. Obwohl FTP sehr beliebt ist, bevorzugen Sie immer die Verwendung von SSH, da dies der sicherste Weg ist, Ihre Dateien zu übertragen.

Es gibt spezielle Tools für die Dateiübertragung über SSH wie scp und sftp aber keines von ihnen verfügt über alle Funktionen, die rsync bietet. rsync kann zum Spiegeln von Daten, zum inkrementellen Sichern, zum Kopieren von Dateien zwischen Systemen usw. verwendet werden.

In diesem Tutorial wird erklärt, wie Sie Dateien mit rsync über SSH kopieren.

Bedarf

  • Das Dienstprogramm rsync muss sowohl auf dem Zielsystem als auch auf dem Quellsystem installiert sein. Wenn es nicht installiert ist, können Sie es mit dem Paket-Manager Ihrer Distribution installieren:

    Ubuntu und Debian:

    sudo apt install rsync

    CentOS und Fedora:

    sudo yum install rsync

    SSH-Zugriff auf den Remote-Computer.

    Der Benutzer, der den Befehl rsync ausführt, und der ferne SSH-Benutzer müssen über die entsprechenden Berechtigungen zum Lesen und Schreiben von Dateien verfügen.

Verwenden von rsync zum Übertragen von Dateien über SSH

Mit rsync können Sie Dateien und Verzeichnisse über SSH von und zu Remote-Servern übertragen.

Die allgemeine Syntax zum Übertragen von Dateien mit rsync lautet wie folgt:

Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…

Während SRC das Quellverzeichnis ist, ist DEST das USER ist der Remote-SSH-Benutzername und HOST ist der Remote-SSH-Host oder die IP-Adresse.

Die neueren Versionen von rsync sind so konfiguriert, dass SSH als Standard-Remote-Shell verwendet wird, sodass Sie die Option -e ssh weglassen können.

Um beispielsweise eine einzelne Datei /opt/file.zip vom lokalen System in das Verzeichnis /var/www/ auf dem fernen System mit der IP- /opt/file.zip zu übertragen, führen Sie /opt/file.zip aus:

rsync -a /opt/file.zip [email protected]:/var/www/

Die Option -a steht für den Archivierungsmodus, der Verzeichnisse rekursiv synchronisiert, Spezial- und Blockgeräte überträgt, symbolische Verknüpfungen, Änderungszeiten, Gruppen, Eigentumsrechte und Berechtigungen beibehält.

Wenn die Datei auf dem Remote-Server vorhanden ist, wird sie überschrieben. Wenn Sie die Datei unter einem anderen Namen speichern möchten, geben Sie den neuen Namen an:

rsync -a /opt/file.zip [email protected]:/var/www/file2.zip

Verwenden Sie zum Übertragen von Daten von einem Remote-Computer auf einen lokalen Computer den Remote-Standort als Quelle und den lokalen Standort als Ziel:

rsync -a [email protected]:/var/www/file.zip /opt/

Das Übertragen von Verzeichnissen mit rsync über SSH entspricht dem Übertragen von Dateien.

Es ist wichtig zu wissen, dass rsync die Quellverzeichnisse mit einem abschließenden Schrägstrich / . Wenn das Quellverzeichnis einen abschließenden Schrägstrich enthält, kopiert rsync nur den Inhalt des Quellverzeichnisses in das Zielverzeichnis. Wenn der abschließende Schrägstrich weggelassen wird, wird das Quellverzeichnis in das Zielverzeichnis kopiert.

Um beispielsweise das lokale Verzeichnis /opt/website/images/ Verzeichnis /var/www/images/ auf einem Remote-Computer zu übertragen, geben Sie Folgendes ein:

rsync -a /home/linuxize/images/ [email protected]:/var/www/images/

Verwenden Sie die Option --delete wenn Sie das lokale und das Remote-Verzeichnis synchronisieren möchten. Seien Sie vorsichtig, wenn Sie diese Option verwenden, da Dateien im Zielverzeichnis gelöscht werden, wenn sie nicht im Quellverzeichnis vorhanden sind.

rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/

Wenn SSH auf dem Remotehost einen anderen als den Standardport 22 überwacht, geben Sie den Port mit der Option -e . Wenn SSH beispielsweise Port 3322 , würden Sie Folgendes verwenden:

rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/

Bei der Übertragung großer Datenmengen wird empfohlen, den Befehl rsync in einer Bildschirmsitzung auszuführen oder die Option -P der rsync , während der Übertragung einen Fortschrittsbalken anzuzeigen und die teilweise übertragenen Dateien beizubehalten:

rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/

Fazit

Wir haben Ihnen gezeigt, wie Sie mit rsync over SSH Dateien und Verzeichnisse kopieren und synchronisieren können.

Vielleicht möchten Sie auch lesen, wie Sie Dateien oder Verzeichnisse mit rsync ausschließen können.

Fühlen Sie sich frei, einen Kommentar zu hinterlassen, wenn Sie Fragen haben.

rsync terminal