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

So übertragen Sie Dateien zwischen Servern in Linux mit SCP und FTP

Das Übertragen von Dateien zwischen Computern ist eine sehr häufige betriebliche Aufgabe, die Sie als Entwickler ständig erledigen.

Linux bietet eine Reihe von Dienstprogrammen zum Übertragen von Dateien. In diesem Tutorial behandeln wir FTP und SCP . Viele automatisierte Skripte verwenden auch FTP oder SCP, um Dateien zu verschieben.

Was ist FTP?

FTP ist ein Netzwerkprotokoll, das für den Austausch von Dateien über das Netzwerk verwendet wird. Es verwendet Port 21. FTP ermöglicht Ihnen den Zugriff auf ein entferntes System zum Austauschen von Dateien unter Verwendung von ftp Befehl.

FTP-Syntax

Die FTP-Syntax lautet wie folgt:

ftp host

Hier, host kann entweder der Hostname oder die IP-Adresse des entfernten Hosts sein.

FTP-Befehle

FTP-Befehle ähneln Linux-Befehlen. Wir werden einige davon besprechen.

Befehl Nutzung
offen Öffnet eine Fernverbindung mit einem anderen Computer.
erhalten Kopiert eine Datei vom entfernten System auf das lokale System.
setzen Kopiert eine Datei vom lokalen System in ein Verzeichnis auf dem entfernten System.
mget Überträgt mehrere Dateien vom Remote-System in das aktuelle Verzeichnis des lokalen Systems.
mput Überträgt mehrere Dateien vom lokalen System in ein Verzeichnis auf dem entfernten System.
Auf Wiedersehen/Aufhören Bereit, die FTP-Umgebung zu verlassen.
schließen Beendet die FTP-Verbindung.
ascii Aktiviert den Dateiübertragungsmodus zu ASCII
binär Aktiviert den Dateiübertragungsmodus auf binär.

So übertragen Sie Dateien per FTP

FTP bietet zwei Übertragungsmodi:ASCII und Binär.

  1. ASCII steht für American Standard Code for Information Interchange . Es wird verwendet, um einfache Dateien wie Textdateien zu übertragen.
  2. Binärmodus :Der Binärmodus wird verwendet, um Nicht-Text-Dateien wie Bilder zu übertragen.

Der Standardübertragungsmodus ist ASCII.

Schritt 1 – Mit FTP verbinden

Im Beispiel unten hostA ist der Remote-Host. Sie werden nach einem Benutzernamen und Passwort gefragt.

$ ftp hostA
Connected to hostA.
220 hostA FTP server ready.
Name (hostA:user): user
331 Password required for user.
Password: password
230 User user logged in.
Remote system type is LINUX.

Sobald die Verbindung erfolgreich ist, sehen Sie ftp> Symbol am Anfang. Jetzt können wir die FTP-Befehle ausführen.

Schritt 2 – Wählen Sie den Dateiübertragungsmodus

Sie können den Modus (binär oder ASCII) je nach Dateityp auswählen.

ftp> ascii
200 Type set to A.

Schritt 3 – Dateien übertragen

Wir verwenden den get Befehl zum Übertragen der Datei sample.txt vom entfernten FTP-Server zum lokalen Rechner.

ftp> get sample.txt
200 PORT command successful.
150 Opening ASCII mode data connection for sample.txt (22 bytes).
226 Transfer complete.
local: sample.txt remote: sample.txt
22 bytes received in 0.012 seconds (1.54 Kbytes/s)

Schritt 4. Sitzung beenden

ftp> bye
221-You have transferred 22 bytes in 1 files.
221-Total traffic for this session was 126 bytes in 2 transfers. 221-Thank you for using the FTP service on hostA.
221 Goodbye.

So übertragen Sie mehrere Dateien per FTP

Um Dateien in großen Mengen zu übertragen, gibt es zwei Befehle:mget und mput .

Sie verwenden mget um die Dateien herunterzuladen, während Sie mput verwenden um die Dateien hochzuladen.

ftp> mget sample_file.1 sample_file.2
ftp> mput sample_file.1 sample_file.2

Alle Schritte, die wir gerade gelernt haben, können in einer ausführbaren Datei abgelegt und geplant werden. Den Code für die Automatisierung finden Sie hier.

Was ist SCP?

SCP steht für Secure Copy. Es verwendet SSH und Port 22. Die über SCP übertragenen Daten sind verschlüsselt und Sniffer können nicht darauf zugreifen. Dies macht SCP sehr sicher.

Sie können SCP für Folgendes verwenden:

  • Übertragen Sie Dateien vom lokalen Computer auf den Remote-Host.
  • Übertragen Sie Dateien vom Remote-Host auf den lokalen Computer.

SCP-Syntax

Sehen wir uns die Syntax von SCP an.

scp [FLAG] [user@]SOURCE_HOST:]/path/to/file1 [user@]DESTINATION_HOST:]/path/to/file2
  • [FLAG] gibt die Optionen an, die SCP gegeben werden können. Hier sind einige Details zu Flags:
Flag Beschreibung
-r Um Verzeichnisse rekursiv zu kopieren.
-q Wird verwendet, um die Fortschrittsanzeige und alle anderen Informationen außer Fehlern auszublenden.
-C Wird verwendet, um die Daten zu komprimieren, wenn sie an ihr Ziel gesendet werden.
-P Gibt den Ziel-SSH-Port an.
-p Erhält Dateizugriffszeiten.
  • [user@]SOURCE_HOST ist die Quellmaschine.
  • [user@]DESTINATION_HOST:] ist der Zielcomputer.

Hinweis :Um Dateien per SCP zu übertragen, müssen die Zugangsdaten bekannt sein und der Benutzer sollte Schreibrechte haben .

Übertragen von Dateien von einem lokalen Computer auf einen Remote-Host über SCP

Verwenden Sie den folgenden Befehl, um Dateien auf einen Remote-Host zu übertragen:

scp source_file.txt [email protected]:/path/to/remote/directory

Im obigen Befehl source_file.txt ist die zu kopierende Datei. Remote_username ist der Benutzername für den Remote-Host 10.13.13.11 . Nach : der Zielpfad wird angegeben.

Beispielausgabe:

[email protected]'s password:
source_file.txt                             100%    0     0.0KB/s   00:00

Die Datei source_file.txt wird nun in /path/to/remote/directory abgelegt .

Um Verzeichnisse zu kopieren, verwenden Sie den -r kennzeichnen, wie unten gezeigt.

scp -r /local/directory [email protected]:/path/to/remote/directory

Übertragen von Dateien vom Remote-Host auf den lokalen Computer über SCP

Verwenden Sie den folgenden Befehl, um Dateien von einem Remote-Host auf einen lokalen Computer zu übertragen:

scp [email protected]:/remote/source_file.txt /path/to/local/directory
Seien Sie besonders vorsichtig, wenn Sie Dateien übertragen, da SCP überschreibt die bereits vorhandenen Dateien.

Abschluss

In diesem Tutorial haben Sie gelernt, wie Sie Dateien und Verzeichnisse mit FTP und SCP über die Befehlszeile übertragen.

Wenn sie automatisiert sind, dienen diese Befehle noch größeren Zwecken bei Data Warehousing, ETL (Extract, Transform, Load), Berichterstellung, Archivierung und Verarbeitung von Massendateien. Probieren Sie diese Befehle aus. Vernetzen wir uns auf Twitter.


Linux
  1. So übertragen Sie Dateien zwischen zwei Computern mit den Befehlen nc und pv

  2. Übertragen Sie Dateien und Ordner sicher zwischen Computern mit Croc

  3. So konfigurieren Sie den SAMBA-Server und übertragen Dateien zwischen Linux und Windows

  4. So kopieren Sie Dateien sicher zwischen Linux-Hosts mit SCP und SFTP

  5. So übertragen Sie Dateien sicher mit SCP

So teilen und übertragen Sie Dateien zwischen Linux und Windows

So sichern und wiederherstellen Sie Dateien mit BorgBackup unter Linux

So sichern Sie Dateien und Verzeichnisse mit Rsync unter Linux

So übertragen Sie Dateien zwischen Dropbox und Google Drive mit Rclone unter Linux

4 Möglichkeiten zum Übertragen von Dateien und Verzeichnissen unter Linux

So löschen Sie Dateien und Verzeichnisse mit der Linux-Befehlszeile