Wyszukiwanie w witrynie

Pscp — przesyłaj/kopiuj pliki na wiele serwerów Linux przy użyciu pojedynczej powłoki


Narzędzie Pscp umożliwia przesyłanie/kopiowanie plików na wiele zdalnych serwerów Linux przy użyciu jednego terminala i jednego polecenia. To narzędzie jest częścią Pssh (Parallel SSH Tools), które zapewnia równoległe wersje OpenSSH i innych podobnych narzędzi, takich jak:

  1. pscp – narzędzie do równoległego kopiowania plików na wiele hostów.
  2. prsync – to narzędzie do wydajnego kopiowania plików na wiele hostów równolegle.
  3. pnuke – pomaga zabić procesy na wielu zdalnych hostach równolegle.
  4. pslurp – pomaga równolegle kopiować pliki z wielu zdalnych hostów do centralnego hosta.

Podczas pracy w środowisku sieciowym, w którym znajduje się wiele hostów, administrator systemu może uznać powyższe narzędzia za bardzo przydatne.

W tym artykule przyjrzymy się kilku przydatnym przykładom narzędzia Pscp do przesyłania/kopiowania plików do wielu hostów z systemem Linux w sieci.

Aby skorzystać z narzędzia pscp, musisz zainstalować narzędzie PSSH w systemie Linux. Informacje na temat instalacji PSSH znajdziesz w tym artykule.

  1. Jak zainstalować narzędzie Pssh do wykonywania poleceń na wielu serwerach z systemem Linux

Prawie wszystkie opcje używane z tymi narzędziami są takie same, z wyjątkiem kilku, które są związane z konkretną funkcjonalnością danego narzędzia.

Jak używać Pscp do przesyłania/kopiowania plików na wiele serwerów Linux

Korzystając z pscp, musisz utworzyć osobny plik, który będzie zawierał numer adresu IP serwera Linux i numer portu SSH, które są potrzebne do połączenia się z serwerem.

Skopiuj pliki na wiele serwerów Linux

Utwórzmy nowy plik o nazwie „myscphosts.txt” i dodajmy listę adresów IP hostów z systemem Linux oraz numer portu SSH (domyślnie 22), jak pokazano.

192.168.0.3:22
192.168.0.9:22

Po dodaniu hostów do pliku nadszedł czas, aby skopiować pliki z komputera lokalnego na wiele hostów z systemem Linux w katalogu /tmp za pomocą następującego polecenia.

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/
Przykładowe wyjście
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

Wyjaśnienie opcji użytych w powyższym poleceniu.

  1. Przełącznik -h używany do odczytu hostów z danego pliku i lokalizacji.
  2. Przełącznik -l odczytuje domyślną nazwę użytkownika na wszystkich hostach, które nie definiują konkretnego użytkownika.
  3. Przełącznik -A mówi pscp, aby poprosił o hasło i wysłał je do ssh.
  4. Przełącznik -v służy do uruchamiania pscp w trybie pełnym.

Skopiuj katalogi na wiele serwerów Linux

Jeśli chcesz skopiować cały katalog, użyj opcji -r, która rekurencyjnie skopiuje całe katalogi, jak pokazano.

pscp -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
OR
pscp.pssh -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
Przykładowe wyjście
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

Możesz wyświetlić stronę ręcznego wprowadzania pscp lub użyć polecenia pscp --help, aby poprosić o pomoc.

Wniosek

Warto wypróbować to narzędzie, tak jakbyś kontrolował wiele systemów Linux i miał już konfigurację logowania bez hasła opartą na kluczu SSH.