LINUX COMMAND LINE – DÍA 7

Proyecto final: Diagnóstico completo de un servidor Linux

(como si fuera tu primer día en un cliente real)


1. Objetivo del día

Aplicar TODO lo aprendido en los 6 días anteriores para realizar un diagnóstico rápido y completo de un servidor Linux:

  • información del sistema
  • carga, memoria, CPU, disco
  • procesos
  • servicios
  • logs
  • red
  • permisos básicos
  • búsqueda de información
  • problemas comunes

Este es un escenario real, tal como lo viviría un técnico de monitorización, plataforma, sysadmin o devops cuando accede a un servidor por primera vez.


2. Archivo de trabajo (opcional)

Puedes crear una carpeta de trabajo:

mkdir diagnostico
cd diagnostico

Pero no es obligatorio.


3. Escenario del Proyecto

Acabas de conectarte vía SSH a un servidor llamado:

srv-produccion-01

Tu misión es:

👉 Realizar un diagnóstico completo en menos de 10 minutos,
como lo haría un técnico experto.


4. Tareas del Proyecto Final (en orden recomendado)

Aquí tienes un checklist profesional.


4.1. Identificar el sistema

uname -a
cat /etc/os-release

¿Qué has averiguado?

  • kernel
  • distro
  • arquitectura
  • versión del sistema

4.2. Ver tiempo encendido y carga

uptime

Anota:

  • días encendido
  • número de usuarios
  • load average (muy importante)

4.3. Uso de CPU en tiempo real

top -o %CPU

o

ps aux --sort=-%cpu | head

Preguntas clave:

  • ¿hay procesos comiendo CPU?
  • ¿hay algo descontrolado?

4.4. Uso de memoria

free -h

Observa:

  • memoria total
  • memoria libre
  • swap usada (⚠️ si hay mucha swap → problema)

4.5. Uso de disco

df -h

¿Alguna partición al 90% o más?

Listar carpetas más pesadas:

du -sh /* | sort -hr | head

4.6. Procesos relevantes

ps aux | head
ps aux | grep -i nginx
ps aux | grep -i java

Busca:

  • procesos zombie
  • procesos con memoria anormal
  • servicios caídos

4.7. Usuarios conectados y actividad

who
w
last | head

Detecta:

  • sesiones extrañas
  • usuarios activos
  • accesos recientes

4.8. Servicios del sistema

Ver servicios activos:

systemctl --type=service --state=running

Ver estado de un servicio importante:

systemctl status ssh
systemctl status nginx
systemctl status cron

(adaptar según el servidor)


4.9. Logs recientes del sistema

Ver últimos errores del sistema:

journalctl -p 3 -n 20

(p=3 = errores)

Ver syslog:

tail -n 30 /var/log/syslog

Ver errores SSH:

grep -i failed /var/log/auth.log

4.10. Conectividad de red

Ping:

ping -c 4 8.8.8.8

Ruta:

tracepath 8.8.8.8

Probar puerto remoto:

nc -zv google.com 443

Ver puertos en escucha:

ss -tulpn

Resolver DNS:

nslookup google.com

4.11. Permisos básicos

Identificar propietario y permisos de un archivo crítico:

ls -l /etc/passwd

Comprobar permisos de logs:

ls -l /var/log

5. Plantilla de Informe (opcional)

Sugerencia de informe

=== INFORME DE DIAGNÓSTICO ===

Sistema:
  uname: _____________________
  distro: ____________________

Estado:
  uptime: ____________________
  load: ______________________

CPU:
  proceso principal: _________
  top: _______________________

Memoria:
  RAM libre: ________________
  SWAP usada: _______________

Disco:
  particiones críticas: ______

Red:
  ping: ______________________
  puerto 443: ________________
  traceroute: ________________

Servicios:
  servicios activos: __________
  servicios caídos: ___________

Logs:
  últimos errores: ____________

Esto es exactamente lo que hace un técnico de guardia real.


6. Ejercicio final

Haz un diagnóstico completo con los comandos del checklist y responde:

  1. ¿El servidor tiene carga alta?
  2. ¿Hay falta de memoria o swap usada?
  3. ¿Las particiones están llenas?
  4. ¿Los servicios están corriendo?
  5. ¿Hay errores recientes en los logs?
  6. ¿Hay conectividad externa?
  7. ¿Algún puerto crítico está cerrado?
  8. ¿Hay usuarios conectados?

7. Día 7 completado

¡Has completado el Mini Tutorial de Emergencia de Linux Command Line!
Ya no eres un usuario que tiene miedo a la terminal:
eres un profesional capaz de moverse, diagnosticar y entender un servidor real.

Has aprendido a:

  • navegar
  • manipular ficheros
  • comprender el sistema
  • analizar logs
  • diagnosticar red
  • gestionar permisos
  • hacer un checklist profesional

Esto es exactamente lo que necesita alguien que empieza en sistemas, monitorización o devops.


⭐ Cierre del Mini Tutorial de Linux Command Line

Has completado 7 días intensivos que te dan una base real y sólida para trabajar con sistemas Linux en entornos profesionales.
No eres un experto aún (nadie lo es en 7 días), pero ahora tienes la navaja suiza mínima imprescindible para enfrentarte a cualquier servidor sin miedo.

Cada comando que has aprendido es una herramienta real que los sysadmins usan a diario.
Cuanto más practiques, más rápido, seguro y preciso te volverás.

A partir de aquí puedes seguir creciendo con:

  • scripting Bash
  • Git
  • Docker
  • monitorización
  • seguridad
  • automatización
  • Python más avanzado

Gracias por completar este viaje.
Nos vemos en el próximo Mini Tutorial de Emergencia.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies