Diferencia entre revisiones de «PSSH / PSCP»
(Página creada con «== 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. Todos los ejemplos asumen acceso por SSH y privilegios de <code>root</code> o <code>sudo</code>. --- == pssh – Ejecución remota en paralelo == '''pssh''' permite ejecutar comandos simultáneamente en múltiples servidores definidos en un fichero. --- ==…») |
|||
| Línea 110: | Línea 110: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
pscp -h servers.lst | pscp -h servers.lst -o out_copy -e err_copy umount.sh /tmp | ||
-o out_copy -e err_copy | |||
umount.sh /tmp | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Revisión del 16:11 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.
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
---
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.