Diferencia entre revisiones de «PSSH / PSCP»
| 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 === | ||
Revisión del 16:14 2 ene 2026
Uso de pssh y pscp
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
- Probar primero con un único servidor
- Usar
-p 1para evitar impactos masivos - Redirigir salidas con
-oy-e - Validar scripts antes de ejecutarlos en paralelo
- Usar inventarios claros y controlados
Notas finales
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
pssh permite ejecutar comandos simultáneamente en múltiples servidores definidos en un fichero.
Copiar un fichero de configuración de forma masiva
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
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
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
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)
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
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
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
pscp permite copiar archivos a múltiples servidores de forma simultánea.
Copiar un script a /tmp
pscp -h servers.lst -o out_copy -e err_copy umount.sh /tmp
Copiar scripts de mantenimiento
pscp -h servers.lst -o out_copy -e err_copy isilon_fstab_mod.sh /tmp
Copiar a distintos grupos de servidores
pscp -h servers_group2.lst -o out_copy -e err_copy umount.sh /tmp