Casos reales de SysAdmin en Linux¶
Este módulo recopila casos reales y realistas que un sysadmin Linux puede (y suele) vivir. No son ejercicios ideales ni escenarios limpios: son incidentes, errores humanos, decisiones bajo presión y lecciones aprendidas.
El objetivo es aprender cómo pensar y actuar cuando las cosas ya están rotas.
Introducción / Concepto principal¶
Un caso real no se mide por el comando correcto, sino por:
- Cómo se detectó el problema
- Qué hipótesis se hicieron
- Qué decisiones se tomaron bajo presión
- Qué se aprendió después
La experiencia no se estudia, se analiza.
Caso 1: Servicio web caído tras actualización¶
Contexto¶
Servidor web en producción.
Actualización rutinaria del sistema durante horario laboral.
Síntoma¶
- Web deja de responder
- Clientes reportan error 502
Diagnóstico¶
systemctl status nginx
journalctl -u nginx
Error detectado:
- Incompatibilidad de configuración tras actualización
Solución¶
cp nginx.conf.bak nginx.conf
systemctl restart nginx
Lección aprendida ✅¶
- Nunca actualices en horario crítico
- Siempre prueba configuraciones antes de reiniciar
- Mantén backups de config
Caso 2: Disco lleno durante la noche¶
Contexto¶
Servidor sin monitorización activa de disco.
Síntoma¶
- Servicios fallan
- Imposible escribir logs
Diagnóstico¶
df -h
du -xh / | sort -h | tail
Causa:
- Logs creciendo sin rotación
- Backups antiguos acumulados
Solución¶
rm logs_antiguos.log
systemctl restart servicio
(⚠️ con extremo cuidado)
Lección aprendida ✅¶
- Monitoriza disco siempre
- Implementa logrotate
- El disco lleno rompe sistemas silenciosamente
Caso 3: Permisos mal aplicados¶
Contexto¶
Script crítico deja de ejecutarse tras cambio rápido.
Síntoma¶
- Script existe
- Error “Permission denied”
Diagnóstico¶
ls -l script.sh
Error:
- Permisos excesivamente restrictivos
Solución¶
chmod 750 script.sh
chown appuser:appgroup script.sh
Lección aprendida ✅¶
- Los permisos son causa frecuente de fallos
- No usar
777como solución - Aplica mínimos privilegios
Caso 4: Proceso incontrolado consumiendo CPU¶
Contexto¶
Servidor lento sin causa aparente.
Síntoma¶
- CPU al 100%
- Aplicaciones lentas
Diagnóstico¶
top
ps aux --sort=-%cpu
Proceso identificado:
- Script mal programado en bucle infinito
Solución¶
kill PID
renice 10 -p PID
Lección aprendida ✅¶
- No mates a ciegas
- Ajusta prioridad antes de matar procesos
- Revisa scripts automatizados
Caso 5: Cambio "rápido" sin documentación¶
Contexto¶
Cambio manual hecho meses atrás sin documentar.
Síntoma¶
- Nadie recuerda por qué algo está configurado así
- El servicio se rompe al tocarlo
Diagnóstico¶
- Falta total de contexto
Solución¶
✔️ Revertir parcialmente
✔️ Analizar histórico
✔️ Documentar al final
Lección aprendida ✅¶
- Lo que no se documenta, se pierde
- Documentar evita dependencia de personas
- La memoria no es una estrategia
Puntos críticos / Errores comunes¶
- Confiar en la “rutina”
- Cambios sin rollback
- No prever impacto
- Resolver el problema pero no la causa
- No dejar rastro escrito
Consejo: todo incidente merece post‑mortem
Ejercicios prácticos¶
1. Mini post‑mortem¶
Documenta un fallo pasado real o simulado:
- Qué pasó
- Impacto
- Causa
- Solución
- Cómo evitarlo
2. Escenario de guardia nocturna¶
Simula:
systemctl stop nginx
Y documenta cómo lo detectarías y resolverías medio dormido.
Mentalidad¶
- Los sistemas fallan, las personas también
- El estrés revela hábitos
- La experiencia es memoria estructurada
- Mejora tras cada incidente
- Un buen sysadmin aprende de errores ajenos y propios
Resumen¶
- Los casos reales enseñan más que la teoría
- Los fallos suelen ser simples, las consecuencias no
- Diagnóstico > comando
- Documentar cierra el ciclo del incidente
- El sysadmin profesional piensa en impacto y prevención
Siguiente paso¶
A partir de aquí comenzamos el Tema 2: Uso diario de Linux 🐧
Primer módulo del Tema 2:
Uso diario de Linux para SysAdmins (02-uso-diario-linux.md)
Donde trabajarás:
- Navegación avanzada en consola
- Flujo de trabajo diario
- Combinación de comandos
- Productividad real en terminal
- Pensar en Linux como herramienta diaria