Heim > System-Tutorial > LINUX > Hauptteil

Wie erreicht man ein effizientes Kopieren von Dateien im Linux-System?

WBOY
Freigeben: 2024-02-09 18:03:12
nach vorne
821 Leute haben es durchsucht

Da die Datenmenge weiter zunimmt, ist die Effizienz des Dateikopierens zu einem unvermeidlichen Problem bei Serverbetrieb und -wartung geworden. Es gibt viele Möglichkeiten, Dateien unter Linux-Systemen zu kopieren, aber viele Benutzer wissen möglicherweise nicht, welche Methode für ihre eigenen Szenarien geeignet ist. In diesem Artikel stellen wir Ihnen einige gängige Linux-Methoden zum Kopieren von Dateien vor, analysieren deren Vor- und Nachteile und helfen Ihnen, die Lösung zu finden, die am besten zu Ihnen passt.

Wie erreicht man ein effizientes Kopieren von Dateien im Linux-System?

Ich habe alle Befehle und Skripte in meiner eigenen Umgebung getestet, sodass Sie sie direkt in Ihrer täglichen Arbeit verwenden können.

Normalerweise bevorzugt jeder scp, weil es einer der nativen Befehle zum Kopieren von Dateien ist. Allerdings sind auch die anderen in diesem Artikel aufgeführten Befehle sehr nützlich, und ich empfehle Ihnen, sie auszuprobieren.

Das Kopieren von Dateien kann einfach mit den folgenden vier Methoden durchgeführt werden.

scp: Kopieren Sie Dateien zwischen zwei Hosts im Netzwerk. Es verwendet SSH für die Dateiübertragung und verwendet dieselbe Authentifizierungsmethode mit derselben Sicherheit.
rsync: ist ein schnelles und vielseitiges Tool zum Kopieren von Dateien. Es kann lokal, zwischen anderen Hosts über eine Remote-Shell oder mit einem Remote-rsync-Daemon kopiert werden.
pscp: ist ein Programm, das Dateien parallel auf mehrere Hosts kopiert. Es bietet viele Funktionen, wie z. B. die Konfiguration geheimnisfreier Übertragungen für scp, das Speichern der Ausgabe in Dateien und die Zeitüberschreitungskontrolle.
prsync: ist ebenfalls ein Programm, das Dateien parallel auf mehrere Hosts kopiert. Es bietet außerdem viele Funktionen, wie z. B. die Konfiguration passwortfreier Übertragungen für SSH, das Speichern von Ausgaben in Dateien und die Zeitüberschreitungskontrolle.

Methode 1: Wie kopiere ich Dateien/Ordner vom lokalen System auf das Remote-System mit dem scp-Befehl unter Linux?

Mit dem Befehl

scp können wir Dateien/Ordner vom lokalen System auf das Remote-System kopieren.

Ich werde die Datei „output.txt“ vom lokalen System in den Ordner /opt/backup des Remote-Systems 2g.CentOS.com kopieren.

# scp output.txt root@2g.CentOS.com:/opt/backup

output.txt                                                                                              100% 2468    2.4KB/s  00:00
Nach dem Login kopieren

Kopieren Sie die beiden Dateien „output.txt“ und „passwd-up.sh“ vom lokalen System in den Ordner /opt/backup des Remote-Systems 2g.CentOs.com.

# scp output.txt passwd-up.sh root@2g.CentOS.com:/opt/backup

output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
Nach dem Login kopieren

Kopieren Sie den Shell-Script-Ordner vom lokalen System in den Ordner /opt/back des Remote-Systems 2g.CentOs.com.

Dadurch werden alle Dateien im Shell-Script-Ordner nach /opt/back kopiert.

# scp -r /home/daygeek/2g/shell-script/ root@:/opt/backup/

output.txt 100% 2468 2.4KB/s 00:00
ovh.sh      100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00
Nach dem Login kopieren

Methode 2: Wie kopiere ich Dateien/Ordner mit dem scp-Befehl und einem Shell-Skript unter Linux auf mehrere Remote-Systeme?

Wenn Sie dieselbe Datei auf mehrere Remote-Server kopieren möchten, müssen Sie ein kleines Shell-Skript wie das folgende erstellen.

Außerdem muss der Server zur Datei server-list.txt hinzugefügt werden. Stellen Sie sicher, dass sich nach erfolgreicher Hinzufügung jeder Server in einer eigenen Zeile befindet.

Letztendlich sieht das gewünschte Skript so aus:

# file-copy.sh

#!/bin/sh
for server in `more server-list.txt`
do
  scp /home/daygeek/2g/shell-script/output.txt root@$server:/opt/backup
done
Nach dem Login kopieren

Legen Sie nach Abschluss die ausführbaren Berechtigungen für die Datei file-copy.sh fest.

# chmod +x file-copy.sh
Nach dem Login kopieren

Führen Sie abschließend das Skript aus, um den Kopiervorgang abzuschließen.

# ./file-copy.sh

output.txt 100% 2468 2.4KB/s 00:00
output.txt 100% 2468 2.4KB/s 00:00
Nach dem Login kopieren

Verwenden Sie das folgende Skript, um mehrere Dateien auf mehrere Remote-Server zu kopieren.

# file-copy.sh

#!/bin/sh
for server in `more server-list.txt`
do
  scp /home/daygeek/2g/shell-script/output.txt passwd-up.sh root@$server:/opt/backup
done
Nach dem Login kopieren

Die folgenden Ergebnisse zeigen, dass alle beiden Dateien auf beide Server kopiert werden.

# ./file-cp.sh

output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
Nach dem Login kopieren

Verwenden Sie das folgende Skript, um Ordner rekursiv auf mehrere Remote-Server zu kopieren.

# file-copy.sh

#!/bin/sh
for server in `more server-list.txt`
do
  scp -r /home/daygeek/2g/shell-script/ root@$server:/opt/backup
done
Nach dem Login kopieren

Die Ausgabe des obigen Skripts.

# ./file-cp.sh

output.txt 100% 2468 2.4KB/s 00:00
ovh.sh      100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00

output.txt 100% 2468 2.4KB/s 00:00
ovh.sh      100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00
Nach dem Login kopieren

Methode 3: Wie verwende ich den Befehl pscp, um Dateien/Ordner auf mehrere Remote-Systeme unter Linux zu kopieren?

Mit dem Befehl

pscp können wir Dateien direkt auf mehrere Remote-Server kopieren.

Verwenden Sie den folgenden pscp-Befehl, um eine einzelne Datei auf einen Remote-Server zu kopieren.

# pscp.pssh -H 2g.CentOS.com /home/daygeek/2g/shell-script/output.txt /opt/backup

[1] 18:46:11 [SUCCESS] 2g.CentOS.com
Nach dem Login kopieren

Verwenden Sie den pscp-Befehl unten, um mehrere Dateien auf einen Remote-Server zu kopieren.

# pscp.pssh -H 2g.CentOS.com /home/daygeek/2g/shell-script/output.txt ovh.sh /opt/backup

[1] 18:47:48 [SUCCESS] 2g.CentOS.com
Nach dem Login kopieren

Verwenden Sie den pscp-Befehl unten, um den gesamten Ordner rekursiv auf den Remote-Server zu kopieren.

# pscp.pssh -H 2g.CentOS.com -r /home/daygeek/2g/shell-script/ /opt/backup

[1] 18:48:46 [SUCCESS] 2g.CentOS.com
Nach dem Login kopieren

Verwenden Sie den pscp-Befehl unten, um eine einzelne Datei mit dem folgenden Befehl auf mehrere Remote-Server zu kopieren.

# pscp.pssh -h server-list.txt /home/daygeek/2g/shell-script/output.txt /opt/backup

[1] 18:49:48 [SUCCESS] 2g.CentOS.com
[2] 18:49:48 [SUCCESS] 2g.Debian.com
Nach dem Login kopieren

Verwenden Sie den pscp-Befehl unten, um mehrere Dateien auf mehrere Remote-Server zu kopieren.

# pscp.pssh -h server-list.txt /home/daygeek/2g/shell-script/output.txt passwd-up.sh /opt/backup

[1] 18:50:30 [SUCCESS] 2g.Debian.com
[2] 18:50:30 [SUCCESS] 2g.CentOS.com
Nach dem Login kopieren

**
Verwenden Sie den folgenden Befehl, um einen Ordner rekursiv auf mehrere Remote-Server zu kopieren. **

# pscp.pssh -h server-list.txt -r /home/daygeek/2g/shell-script/ /opt/backup

[1] 18:51:31 [SUCCESS] 2g.Debian.com
[2] 18:51:31 [SUCCESS] 2g.CentOS.com
Nach dem Login kopieren

Im Allgemeinen ist es nicht schwierig, in Linux-Systemen ein effizientes Kopieren von Dateien zu erreichen. Solange Sie die entsprechenden Tools oder Befehle entsprechend den tatsächlichen Anforderungen auswählen, können Sie die Geschwindigkeit und Effizienz der Dateiübertragung verbessern. In diesem Artikel stellen wir einige gängige Methoden zum Kopieren von Dateien vor und analysieren ihre Vor- und Nachteile. Ich hoffe, dieser Artikel kann Linux-Systemadministratoren helfen und es jedem ermöglichen, die Prinzipien und Methoden des Dateikopierens besser zu verstehen.

Das obige ist der detaillierte Inhalt vonWie erreicht man ein effizientes Kopieren von Dateien im Linux-System?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:lxlinux.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage