pscp - Übertragen/Kopieren von Dateien auf mehrere Linux-Server mit einer einzigen Shell
Das Pscp-Dienstprogramm ermöglicht es Ihnen, Dateien mit einem einzigen Terminal mit einem einzigen Befehl auf mehrere entfernte Linux-Server zu übertragen/kopieren. Dieses Tool ist Teil von Pssh (Parallel SSH Tools), das parallele Versionen von OpenSSH und anderen ähnlichen Tools bereitstellt, wie zum Beispiel:
- PSCP – ist ein Dienstprogramm zum parallelen Kopieren von Dateien auf eine Reihe von Hosts.
- prsync – ist ein Dienstprogramm zum effizienten parallelen Kopieren von Dateien auf mehrere Hosts.
- pnuke – es hilft, Prozesse auf mehreren Remote-Hosts parallel zu beenden.
- PSLURP – Es hilft, Dateien von mehreren entfernten Hosts parallel auf einen zentralen Host zu kopieren.
Wenn Sie in einer Netzwerkumgebung arbeiten, in der es mehrere Hosts im Netzwerk gibt, kann ein Systemadministrator die oben aufgeführten Tools als sehr nützlich empfinden.
In diesem Artikel werden wir uns einige nützliche Beispiele für das Pscp-Dienstprogramm zum Übertragen/Kopieren von Dateien auf mehrere Linux-Hosts in einem Netzwerk ansehen.
Um das pscp-Tool zu verwenden, müssen Sie das PSSH-Dienstprogramm auf Ihrem Linux-System installieren, für die Installation von PSSH können Sie diesen Artikel lesen.
- So installieren Sie das pssh-Tool, um Befehle auf mehreren Linux-Servern auszuführen
Fast alle verschiedenen Optionen, die mit diesen Tools verwendet werden, sind gleich, mit Ausnahme einiger weniger, die sich auf die spezifische Funktionalität eines bestimmten Dienstprogramms beziehen.
So verwenden Sie pscp, um Dateien auf mehrere Linux-Server zu übertragen/kopieren
Bei der Verwendung von pscp müssen Sie eine separate Datei erstellen, die die IP-Adresse des Linux-Servers und die SSH-Portnummer enthält, die Sie für die Verbindung mit dem Server benötigen.
Kopieren von Dateien auf mehrere Linux-Server
Erstellen Sie eine neue Datei mit dem Namen "myscphosts.txt" und fügen Sie die Liste der IP-Adresse und die SSH-Portnummer (Standard 22) hinzu, wie gezeigt.
192.168.0.3:22
192.168.0.9:22
Nachdem Sie der Datei Hosts hinzugefügt haben, ist es an der Zeit, Dateien vom lokalen Computer auf mehrere Linux-Hosts im Verzeichnis /tmp mit Hilfe des folgenden Befehls zu kopieren.
# pscp -h myscphosts.txt -l tecmint -Av wine-1.7.55.tar.bz2 /tmp/
OR
pscp.pssh -h myscphosts.txt -l tecmint -Av wine-1.7.55.tar.bz2 /tmp/
Beispiel-Ausgabe
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 17:48:25 [SUCCESS] 192.168.0.3:22
[2] 17:48:35 [SUCCESS] 192.168.0.9:22
Erläuterung der Optionen, die im obigen Befehl verwendet werden.
- -h wird verwendet, um einen Host aus einer bestimmten Datei und einem bestimmten Speicherort zu lesen.
- -l liest einen Standardbenutzernamen auf allen Hosts, die keinen bestimmten Benutzer definieren.
- -Ein Schalter weist pscp an, nach einem Passwort zu fragen und es an ssh zu senden.
- -v wird verwendet, um PSCP im ausführlichen Modus auszuführen.
Kopieren von Verzeichnissen auf mehrere Linux-Server
Wenn Sie das gesamte Verzeichnis kopieren möchten, verwenden Sie die Option -r, um ganze Verzeichnisse rekursiv zu kopieren, wie gezeigt.
# pscp -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
OR
pscp.pssh -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
Beispiel-Ausgabe
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 17:48:25 [SUCCESS] 192.168.0.3:22
[2] 17:48:35 [SUCCESS] 192.168.0.9:22
Sie können die manuelle Eingabeseite für das pscp anzeigen oder den Befehl pscp --help verwenden, um Hilfe zu suchen.
Schlussfolgerung
Dieses Tool ist einen Versuch wert, wenn Sie mehrere Linux-Systeme kontrollieren und bereits eine SSH-Schlüssel-basierte passwortlose Anmeldung eingerichtet haben.
