PSSH / PSCP

De jagfloriano.com
Ir a la navegaciónIr a la búsqueda

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 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

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.