Ricerca nel sito web

Pscp: trasferisci/copia file su più server Linux utilizzando un'unica shell


L'utilità Pscp ti consente di trasferire/copiare file su più server Linux remoti utilizzando un singolo terminale con un solo comando, questo strumento fa parte di Pssh (Parallel SSH Tools), che fornisce versioni parallele di OpenSSH e altri strumenti simili come:

  1. pscp – è un'utilità per copiare file in parallelo su un numero di host.
  2. prsync – è un'utilità per copiare in modo efficiente i file su più host in parallelo.
  3. pnuke: aiuta a terminare i processi su più host remoti in parallelo.
  4. pslurp: aiuta a copiare file da più host remoti a un host centrale in parallelo.

Quando si lavora in un ambiente di rete in cui sono presenti più host sulla rete, un amministratore di sistema può trovare molto utili gli strumenti sopra elencati.

In questo articolo, esamineremo alcuni esempi utili dell'utilità Pscp per trasferire/copiare file su più host Linux su una rete.

Per utilizzare lo strumento pscp, devi installare l'utilità PSSH sul tuo sistema Linux, per l'installazione di PSSH puoi leggere questo articolo.

  1. Come installare lo strumento Pssh per eseguire comandi su più server Linux

Quasi tutte le diverse opzioni utilizzate con questi strumenti sono le stesse, tranne alcune correlate alla funzionalità specifica di una determinata utilità.

Come utilizzare Pscp per trasferire/copiare file su più server Linux

Durante l'utilizzo di pscp è necessario creare un file separato che includa il numero di indirizzo IP del server Linux e il numero di porta SSH necessari per connettersi al server.

Copia file su più server Linux

Creiamo un nuovo file chiamato "myscphosts.txt" e aggiungiamo l'elenco degli indirizzi IP degli host Linux e il numero della porta SSH (22 predefinito) come mostrato.

192.168.0.3:22
192.168.0.9:22

Dopo aver aggiunto gli host al file, è il momento di copiare i file dal computer locale a più host Linux nella directory /tmp con l'aiuto del seguente comando.

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/
Uscita del campione
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

Spiegazione delle opzioni utilizzate nel comando precedente.

  1. L'interruttore -h viene utilizzato per leggere un host da un determinato file e posizione.
  2. L'opzione -l legge un nome utente predefinito su tutti gli host che non definiscono un utente specifico.
  3. L'interruttore -A indica a pscp di chiedere una password e di inviarla a ssh.
  4. L'opzione -v viene utilizzata per eseguire pscp in modalità dettagliata.

Copia directory su più server Linux

Se vuoi copiare l'intera directory usa l'opzione -r, che copierà ricorsivamente intere directory come mostrato.

pscp -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
OR
pscp.pssh -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
Uscita del campione
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

Puoi visualizzare la pagina di immissione manuale per pscp o utilizzare il comando pscp --help per cercare aiuto.

Conclusione

Vale la pena provare questo strumento come se controllassi più sistemi Linux e disponi già di una configurazione di accesso senza password basata su chiave SSH.