Diferencia entre revisiones de «Comandos»

De jagfloriano.com
Ir a la navegaciónIr a la búsqueda
Etiqueta: Revertido
(Se ha deshecho la revisión 111 de Escleiron (disc.))
Etiqueta: Deshacer
 
(No se muestra una edición intermedia del mismo usuario)
Línea 237: Línea 237:
</syntaxhighlight>
</syntaxhighlight>


== 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.
---
=== Copiar un fichero de configuración de forma masiva ===
Ejecuta un comando <code>cp</code> en todos los servidores del listado:
<syntaxhighlight lang="bash">
pssh -X -q -h servers.lst -i \
"sudo cp /etc/sudoers.serverA /etc/sudoers"
</syntaxhighlight>
---
=== Buscar configuración en múltiples servidores ===
Buscar la opción <code>X11</code> en la configuración SSH:
<syntaxhighlight lang="bash">
pssh -X -q -h servers.lst -i \
"sudo grep X11 /etc/ssh/sshd_config"
</syntaxhighlight>
---
=== Ejecutar un script remoto ===
Ejecutar un script previamente copiado en <code>/tmp</code>:
<syntaxhighlight lang="bash">
pssh -X -q -h servers.lst \
-o out_umount -e err_umount -i \
"sudo /tmp/umount.sh"
</syntaxhighlight>
---
=== Controlar salida estándar y errores ===
Guardar la salida estándar y errores en directorios separados:
<syntaxhighlight lang="bash">
pssh -X -q -h servers.lst \
-o info/ -e error/ -p 1 \
"sudo date"
</syntaxhighlight>
---
=== Desactivar THP (Transparent Huge Pages) ===
Ejecutar un comando protegido con <code>sh -c</code>:
<syntaxhighlight lang="bash">
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>
---
=== Consultas sobre usuarios y permisos ===
Buscar una entrada concreta en <code>/etc/sudoers</code>:
<syntaxhighlight lang="bash">
pssh -X -q -h servers.lst -i \
"sudo grep -i redis /etc/sudoers"
</syntaxhighlight>
Buscar un usuario por UID:
<syntaxhighlight lang="bash">
pssh -X -q -h servers.lst -i \
"getent passwd | grep 10188"
</syntaxhighlight>
---
=== Ejecución autenticada y en serie ===
Ejecutar un comando uno a uno (<code>-p 1</code>) solicitando contraseña:
<syntaxhighlight lang="bash">
pssh -h servers.lst -p 1 -A -P \
"pip3 list | grep google-api-python-client"
</syntaxhighlight>
---
== pscp – Copia de ficheros en paralelo ==
'''pscp''' permite copiar archivos a múltiples servidores de forma simultánea.
---
=== Copiar un script a /tmp ===
<syntaxhighlight lang="bash">
pscp -h servers.lst \
-o out_copy -e err_copy \
umount.sh /tmp
</syntaxhighlight>
---
=== Copiar scripts de mantenimiento ===
<syntaxhighlight lang="bash">
pscp -h servers.lst \
-o out_copy -e err_copy \
isilon_fstab_mod.sh /tmp
</syntaxhighlight>
---
=== Copiar a distintos grupos de servidores ===
<syntaxhighlight lang="bash">
pscp -h servers_group2.lst \
-o out_copy -e err_copy \
umount.sh /tmp
</syntaxhighlight>
---
== Buenas prácticas ==
* Probar primero con un único servidor
* Usar <code>-p 1</code> para evitar impactos masivos
* Redirigir salidas con <code>-o</code> y <code>-e</code>
* 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.


== Checksum ==
== Checksum ==

Revisión actual - 16:09 2 ene 2026

Introducción[editar]

Esta página recopila comandos y procedimientos habituales de administración de sistemas Unix/Linux, utilizados en tareas de diagnóstico, mantenimiento, automatización y resolución de incidencias. Está orientada a entornos Linux empresariales y laboratorios técnicos.

Recursos web[editar]

Copias de seguridad rápidas[editar]

Copia de seguridad de /etc/fstab con marca temporal:

cp -a /etc/fstab /etc/fstab.$(date '+%Y-%m-%d_%H-%M-%S')


Ayudas con vi[editar]

Añadir # al inicio de todas las líneas:

:1,$s/^/#/

Eliminar # del inicio de las líneas:

:1,$s/^#//

Sustituir texto:

:%s/texto_original/texto_nuevo/g


Análisis de sistemas de ficheros llenos[editar]

Directorios que más ocupan espacio:

du -kx | sort -nr | head -10

Buscar ficheros grandes:

find . -type f -size +500M -exec ls -lh {} \;

Buscar comprimidos:

find . -type f \( -name "*.gz" -o -name "*.tar" -o -name "*.zip" \) -ls


Compresión de ficheros[editar]

Comprimir múltiples ficheros:

ls | grep -v '\.gz$' | head -600 | xargs -n 1 gzip -9

Ver contenido de un fichero comprimido:

tar -tzf fichero.tar.gz

Descomprimir:

tar -xzvf fichero.tar.gz


Búsqueda de ficheros core[editar]

Localizar cores:

find / -type f -name core -ls

Analizar core:

gdb BINARIO CORE


Procesos y recursos[editar]

Procesos en estado defunct:

ps aux | awk '$8 ~ /D/ {print}'

Procesos que usan swap:

for f in /proc/*/status; do
  awk '/Name|VmSwap/{printf "%s %s\n",$2,$3}' $f
done | sort -k2 -nr


Uso de CPU y memoria[editar]

Uso global de CPU:

grep 'cpu ' /proc/stat | awk '{print ($2+$4)*100/($2+$4+$5)"%"}'

Procesos ordenados por memoria:

ps -eo pid,user,%mem,command --sort=-%mem | head


Red y conectividad[editar]

Ver IPs del sistema:

ip a

Probar conectividad TCP (puerto 22):

curl -v serverA:22


NFS[editar]

Exportaciones:

vi /etc/exports

Montaje NFS:

mount -t nfs4 serverA:/data /mnt/data

Ver montajes:

mount -l | grep nfs


Variables de entorno[editar]

Variable temporal:

export MYVAR="valor"
unset MYVAR

Variables persistentes:

  • ~/.bash_profile
  • ~/.profile


LSOF[editar]

Ficheros borrados aún en uso:

lsof +L1

Inodos[editar]

Directorios con más inodos:

find /var/log -xdev -printf '%h\n' | sort | uniq -c | sort -rn | head

---

Remontar sistemas de ficheros[editar]

mount -o remount,rw /var


Enlaces simbólicos[editar]

ln -s origen destino


Operaciones masivas con pssh[editar]

Ejecutar comandos remotos:

pssh -h servidores.lst -i "uname -a"

Copiar ficheros:

pscp -h servidores.lst fichero /tmp


Checksum[editar]

Comparar ficheros:

md5sum /etc/hosts /tmp/hosts


Notas finales[editar]

Esta hoja actúa como referencia rápida para administración de sistemas Linux en entornos reales. Se recomienda validar los comandos en entornos de prueba antes de su uso en producción.