Diferencia entre revisiones de «Comandos»

De jagfloriano.com
Ir a la navegaciónIr a la búsqueda
(Se ha deshecho la revisión 112 de Escleiron (disc.))
Etiqueta: Deshacer
(No se muestran 5 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 21: Línea 18:
</syntaxhighlight>
</syntaxhighlight>


---
 


== Ayudas con vi ==
== Ayudas con vi ==
Línea 43: Línea 40:
</syntaxhighlight>
</syntaxhighlight>


---
 


== Análisis de sistemas de ficheros llenos ==
== Análisis de sistemas de ficheros llenos ==
Línea 65: Línea 62:
</syntaxhighlight>
</syntaxhighlight>


---
 


== Compresión de ficheros ==
== Compresión de ficheros ==
Línea 87: Línea 84:
</syntaxhighlight>
</syntaxhighlight>


---
 


== Búsqueda de ficheros core ==
== Búsqueda de ficheros core ==
Línea 103: Línea 100:
</syntaxhighlight>
</syntaxhighlight>


---
 


== Procesos y recursos ==
== Procesos y recursos ==
Línea 121: Línea 118:
</syntaxhighlight>
</syntaxhighlight>


---
 


== Uso de CPU y memoria ==
== Uso de CPU y memoria ==
Línea 137: Línea 134:
</syntaxhighlight>
</syntaxhighlight>


---
 


== Red y conectividad ==
== Red y conectividad ==
Línea 153: Línea 150:
</syntaxhighlight>
</syntaxhighlight>


---
 


== NFS ==
== NFS ==
Línea 175: Línea 172:
</syntaxhighlight>
</syntaxhighlight>


---
 


== Variables de entorno ==
== Variables de entorno ==
Línea 190: Línea 187:
* <code>~/.profile</code>
* <code>~/.profile</code>


---
 


== LSOF ==
== LSOF ==
Línea 199: Línea 196:
lsof +L1
lsof +L1
</syntaxhighlight>
</syntaxhighlight>
---


== Inodos ==
== Inodos ==
Línea 218: Línea 213:
</syntaxhighlight>
</syntaxhighlight>


---
 


== Enlaces simbólicos ==
== Enlaces simbólicos ==
Línea 226: Línea 221:
</syntaxhighlight>
</syntaxhighlight>


---
 


== Operaciones masivas con pssh ==
== Operaciones masivas con pssh ==
Línea 240: 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>
</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 ==
Línea 252: 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 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.

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.