Búsqueda de sitios web

Pscp: transferir/copiar archivos a varios servidores Linux mediante un único shell


La utilidad Pscp le permite transferir/copiar archivos a múltiples servidores Linux remotos usando un solo terminal con un solo comando. Esta herramienta es parte de Pssh (Parallel SSH Tools), que proporciona versiones paralelas de OpenSSH y otras herramientas similares como:

  1. pscp: es una utilidad para copiar archivos en paralelo a varios hosts.
  2. prsync: es una utilidad para copiar archivos de manera eficiente a múltiples hosts en paralelo.
  3. pnuke: ayuda a finalizar procesos en múltiples hosts remotos en paralelo.
  4. pslurp: ayuda a copiar archivos desde múltiples hosts remotos a un host central en paralelo.

Cuando se trabaja en un entorno de red donde hay varios hosts en la red, un administrador del sistema puede encontrar muy útiles estas herramientas enumeradas anteriormente.

En este artículo, veremos algunos ejemplos útiles de la utilidad Pscp para transferir/copiar archivos a múltiples hosts Linux en una red.

Para utilizar la herramienta pscp, necesita instalar la utilidad PSSH en su sistema Linux; para instalar PSSH puede leer este artículo.

  1. Cómo instalar la herramienta Pssh para ejecutar comandos en varios servidores Linux

Casi todas las diferentes opciones utilizadas con estas herramientas son iguales excepto algunas que están relacionadas con la funcionalidad específica de una utilidad determinada.

Cómo utilizar Pscp para transferir/copiar archivos a varios servidores Linux

Mientras usa pscp, debe crear un archivo separado que incluya la cantidad de dirección IP del servidor Linux y el número de puerto SSH que necesita para conectarse al servidor.

Copie archivos a varios servidores Linux

Creemos un nuevo archivo llamado “myscphosts.txt” y agreguemos la lista de direcciones IP de hosts Linux y el número de puerto SSH (predeterminado 22) como se muestra.

192.168.0.3:22
192.168.0.9:22

Una vez que haya agregado hosts al archivo, es hora de copiar archivos desde la máquina local a múltiples hosts Linux en el directorio /tmp con la ayuda del siguiente 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/
Salida de muestra
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

Explicación sobre las opciones utilizadas en el comando anterior.

  1. -h modificador utilizado para leer hosts desde un archivo y una ubicación determinados.
  2. El modificador -l lee un nombre de usuario predeterminado en todos los hosts que no definen un usuario específico.
  3. El interruptor -A le dice a pscp que solicite una contraseña y la envíe a ssh.
  4. El modificador -v se utiliza para ejecutar pscp en modo detallado.

Copie directorios a varios servidores Linux

Si desea copiar el directorio completo, utilice la opción -r, que copiará recursivamente directorios completos como se muestra.

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

Puede ver la página de entrada manual para pscp o usar el comando pscp --help para buscar ayuda.

Conclusión

Vale la pena probar esta herramienta como si controlara varios sistemas Linux y ya tuviera una configuración de inicio de sesión sin contraseña basada en clave SSH.