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:
- pscp – narzędzie do równoległego kopiowania plików na wiele hostów.
- prsync – to narzędzie do wydajnego kopiowania plików na wiele hostów równolegle.
- pnuke – pomaga zabić procesy na wielu zdalnych hostach równolegle.
- 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.
- 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.
- Przełącznik -h używany do odczytu hostów z danego pliku i lokalizacji.
- Przełącznik -l odczytuje domyślną nazwę użytkownika na wszystkich hostach, które nie definiują konkretnego użytkownika.
- Przełącznik -A mówi pscp, aby poprosił o hasło i wysłał je do ssh.
- 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.