La automatización operativa útil es más que un script ejecutado una vez: debe versionarse, ser ejecutable, producir salida controlada y funcionar en un horario predecible. Este proyecto basado en desafíos te pide ensamblar esas piezas en un pequeño kit local de operaciones.
Establecerás un flujo Git, escribirás un monitor de salud en Bash, transformarás un log preparado con sed y awk e instalarás dos entradas Cron. Cada fase valida archivos, permisos, estado del repositorio, contenido del informe o sintaxis del crontab, sin proporcionar una solución comando por comando.
Lo que aprenderás
- Inicializar un repositorio Git local, definir reglas de exclusión, trabajar en una rama
developy confirmar una base - Escribir un script Bash ejecutable que informe uso del sistema raíz y estado de Nginx con marcas temporales
- Extraer el uso de disco con
dfy comprobar un servicio consystemctl,serviceopgrep - Eliminar registros
DEBUG, ocultar direcciones IPv4 y reformatear campos consedyawk - Producir un procesador ejecutable y un informe limpio con el formato prescrito de tiempo, etiqueta y mensaje
- Programar el monitor cada cinco minutos y el procesador a diario a las
02:00, redirigiendo sus errores a un archivo
A quién va dirigido este curso
Este proyecto está dirigido a estudiantes de Linux y DevOps preparados para combinar Git, Bash, procesamiento de texto y Cron sin comandos paso a paso.
Requisitos previos: Familiaridad con scripts shell, permisos ejecutables, fundamentos de Git, tuberías, sed, awk, comprobaciones de procesos o servicios y sintaxis crontab; es un proyecto de evaluación.
Entorno de aprendizaje: Un host Linux accesible desde el navegador con Bash, Git, Cron, estado de servicio Nginx, utilidades GNU/Linux y archivos preparados; no requiere alojamiento Git remoto ni nube.
Preguntas frecuentes
¿La fase Git envía código a GitHub u otro remoto?
No. Solo crea un repositorio local en /home/labex/ops-toolkit, añade reglas *.tmp y logs/, cambia a develop y registra al menos un commit base.
¿El monitor es un sistema completo de alertas?
No. monitor.sh imprime con fecha el uso del disco raíz y si Nginx está activo. No define umbrales, envía avisos, conserva métricas ni ofrece panel.
¿Qué formato espera el procesador de logs?
Usa registros preparados separados por espacios con fecha, hora, nivel, IPv4 y mensaje. Elimina DEBUG, sustituye IP por [REDACTED] y conserva YYYY-MM-DD HH:MM:SS [REDACTED] Message....
¿El desafío de programación espera a que se ejecuten los trabajos?
No. Verifica exactamente dos entradas: monitor.sh cada cinco minutos con stderr en monitor.err, y process_logs.sh cada día a las 02:00.





