Diferencia entre revisiones de «Comandos»
(→LSOF) |
Etiqueta: Deshacer |
||
| (No se muestran 3 ediciones intermedias del mismo usuario) | |||
| Línea 9: | Línea 9: | ||
* https://chmod-calculator.com/ | * https://chmod-calculator.com/ | ||
* https://crontab.guru/ | * https://crontab.guru/ | ||
== Copias de seguridad rápidas == | == Copias de seguridad rápidas == | ||
| Línea 216: | Línea 213: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Enlaces simbólicos == | == Enlaces simbólicos == | ||
| Línea 224: | Línea 221: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Operaciones masivas con pssh == | == Operaciones masivas con pssh == | ||
| Línea 238: | Línea 235: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
pscp -h servidores.lst fichero /tmp | pscp -h servidores.lst fichero /tmp | ||
</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> | </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 == | ||
| Línea 250: | Línea 402: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Notas finales == | == Notas finales == | ||
Revisión del 16:09 2 ene 2026
Introducción
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
Copias de seguridad rápidas
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
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
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
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
Localizar cores:
find / -type f -name core -ls
Analizar core:
gdb BINARIO CORE
Procesos y recursos
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
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
Ver IPs del sistema:
ip a
Probar conectividad TCP (puerto 22):
curl -v serverA:22
NFS
Exportaciones:
vi /etc/exports
Montaje NFS:
mount -t nfs4 serverA:/data /mnt/data
Ver montajes:
mount -l | grep nfs
Variables de entorno
Variable temporal:
export MYVAR="valor"
unset MYVAR
Variables persistentes:
~/.bash_profile~/.profile
LSOF
Ficheros borrados aún en uso:
lsof +L1
Inodos
Directorios con más inodos:
find /var/log -xdev -printf '%h\n' | sort | uniq -c | sort -rn | head
---
Remontar sistemas de ficheros
mount -o remount,rw /var
Enlaces simbólicos
ln -s origen destino
Operaciones masivas con pssh
Ejecutar comandos remotos:
pssh -h servidores.lst -i "uname -a"
Copiar ficheros:
pscp -h servidores.lst fichero /tmp
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.
Checksum
Comparar ficheros:
md5sum /etc/hosts /tmp/hosts
Notas finales
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.