Diferencia entre revisiones de «PSSH / PSCP»

De jagfloriano.com
Ir a la navegaciónIr a la búsqueda
 
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 23: Línea 23:


'''pssh''' permite ejecutar comandos simultáneamente en múltiples servidores definidos en un fichero.
'''pssh''' permite ejecutar comandos simultáneamente en múltiples servidores definidos en un fichero.


=== Copiar un fichero de configuración de forma masiva ===
=== Copiar un fichero de configuración de forma masiva ===
Línea 65: Línea 64:
pssh -X -q -h servers.lst -O StrictHostKeyChecking=no -t 300 -p 1 "sudo sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'"
pssh -X -q -h servers.lst -O StrictHostKeyChecking=no -t 300 -p 1 "sudo sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'"
</syntaxhighlight>
</syntaxhighlight>


=== Consultas sobre usuarios y permisos ===
=== Consultas sobre usuarios y permisos ===
Línea 92: Línea 90:


'''pscp''' permite copiar archivos a múltiples servidores de forma simultánea.
'''pscp''' permite copiar archivos a múltiples servidores de forma simultánea.


=== Copiar un script a /tmp ===
=== Copiar un script a /tmp ===
Línea 99: Línea 96:
pscp -h servers.lst -o out_copy -e err_copy umount.sh /tmp
pscp -h servers.lst -o out_copy -e err_copy umount.sh /tmp
</syntaxhighlight>
</syntaxhighlight>


=== Copiar scripts de mantenimiento ===
=== Copiar scripts de mantenimiento ===

Revisión actual - 16:15 2 ene 2026

Uso de pssh y pscp[editar]

En esta página se muestran ejemplos prácticos del uso de pssh y pscp para la ejecución de comandos y copia de ficheros de forma paralela en múltiples servidores Linux.

Buenas prácticas[editar]

  • Probar primero con un único servidor
  • Usar -p 1 para evitar impactos masivos
  • Redirigir salidas con -o y -e
  • Validar scripts antes de ejecutarlos en paralelo
  • Usar inventarios claros y controlados

Notas finales[editar]

pssh y pscp son herramientas muy potentes para administración masiva. Un uso incorrecto puede provocar impactos en múltiples sistemas al mismo tiempo. Utilizarlas siempre con precaución.

Todos los ejemplos asumen acceso por SSH y privilegios de root o sudo.

pssh – Ejecución remota en paralelo[editar]

pssh permite ejecutar comandos simultáneamente en múltiples servidores definidos en un fichero.

Copiar un fichero de configuración de forma masiva[editar]

Ejecuta un comando cp en todos los servidores del listado:

pssh -X -q -h servers.lst -i "sudo cp /etc/sudoers.serverA /etc/sudoers"

Buscar configuración en múltiples servidores[editar]

Buscar la opción X11 en la configuración SSH:

pssh -X -q -h servers.lst -i "sudo grep X11 /etc/ssh/sshd_config"


Ejecutar un script remoto[editar]

Ejecutar un script previamente copiado en /tmp:

pssh -X -q -h servers.lst -o out_umount -e err_umount -i "sudo /tmp/umount.sh"

Controlar salida estándar y errores[editar]

Guardar la salida estándar y errores en directorios separados:

pssh -X -q -h servers.lst -o info/ -e error/ -p 1 "sudo date"

Desactivar THP (Transparent Huge Pages)[editar]

Ejecutar un comando protegido con sh -c:

pssh -X -q -h servers.lst -O StrictHostKeyChecking=no -t 300 -p 1 "sudo sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'"

Consultas sobre usuarios y permisos[editar]

Buscar una entrada concreta en /etc/sudoers:

pssh -X -q -h servers.lst -i "sudo grep -i redis /etc/sudoers"

Buscar un usuario por UID:

pssh -X -q -h servers.lst -i "getent passwd | grep 10188"

Ejecución autenticada y en serie[editar]

Ejecutar un comando uno a uno (-p 1) solicitando contraseña:

pssh -h servers.lst -p 1 -A -P "pip3 list | grep google-api-python-client"

pscp – Copia de ficheros en paralelo[editar]

pscp permite copiar archivos a múltiples servidores de forma simultánea.

Copiar un script a /tmp[editar]

pscp -h servers.lst -o out_copy -e err_copy umount.sh /tmp

Copiar scripts de mantenimiento[editar]

pscp -h servers.lst -o out_copy -e err_copy isilon_fstab_mod.sh /tmp

Copiar a distintos grupos de servidores[editar]

pscp -h servers_group2.lst -o out_copy -e err_copy umount.sh /tmp