Développement d'une boîte à outils d'opérations automatisées

Dans ce projet pratique, vous développerez une suite d'outils d'automatisation dans le cadre d'une équipe d'efficacité de la plateforme. Vous pratiquerez les flux de travail Git professionnels, le script Bash pour la surveillance des systèmes, le traitement avancé des journaux avec Awk et Sed, et la planification des tâches avec Cron.

DevOps EngineerDevOpsLinux

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Une automatisation d'exploitation utile ne se limite pas à un script exécuté une fois : elle doit être versionnée, exécutable, produire une sortie maîtrisée et suivre un calendrier prévisible. Ce projet fondé sur des défis vous demande d'assembler ces éléments dans une petite boîte à outils locale.

Vous établirez un workflow Git, écrirez un moniteur Bash, transformerez un log préparé avec sed et awk, puis installerez deux entrées Cron. Chaque phase valide des fichiers, permissions, états Git, contenus de rapport ou syntaxes crontab concrets, sans solution commande par commande.

Ce que vous apprendrez

  • Initialiser un dépôt Git local, définir des exclusions, travailler sur develop et valider une base
  • Écrire un script Bash exécutable qui horodate l'utilisation du système racine et l'état de Nginx
  • Extraire l'utilisation disque avec df et tester un service avec systemctl, service ou pgrep
  • Supprimer les enregistrements DEBUG, masquer les IPv4 et restructurer les champs avec sed et awk
  • Produire un processeur exécutable et un rapport au format imposé d'horodatage, balise et message
  • Planifier le moniteur toutes les cinq minutes et le traitement chaque jour à 02:00, avec les erreurs du moniteur dans un fichier

À qui s’adresse ce cours

Ce projet s'adresse aux personnes apprenant Linux et le DevOps prêtes à combiner Git, Bash, traitement de texte et Cron sans commandes pas à pas.

Prérequis : Connaître les scripts shell, permissions exécutables, bases Git, pipelines, sed, awk, contrôles de processus ou services et syntaxe crontab ; projet d'évaluation.

Environnement d’apprentissage : Un hôte Linux dans le navigateur avec Bash, Git, Cron, un état de service Nginx, les outils GNU/Linux et des fichiers préparés ; aucun dépôt distant ni cloud requis.

Questions fréquentes

La phase Git pousse-t-elle du code vers GitHub ou un autre serveur ?

Non. Elle crée seulement un dépôt local dans /home/labex/ops-toolkit, ajoute *.tmp et logs/, passe sur develop et enregistre au moins un commit initial.

Le moniteur est-il un système d'alerte complet ?

Non. monitor.sh affiche avec horodatage l'utilisation du disque racine et l'état de Nginx. Il ne définit aucun seuil, n'envoie aucune notification, ne conserve pas de métriques et n'offre aucun tableau de bord.

Quel format le processeur de logs attend-il ?

Des enregistrements préparés séparés par espaces avec date, heure, niveau, IPv4 et message. Il retire DEBUG, remplace l'IP par [REDACTED] et conserve YYYY-MM-DD HH:MM:SS [REDACTED] Message....

Le défi Cron attend-il l'exécution des tâches ?

Non. Il vérifie exactement deux entrées : monitor.sh toutes les cinq minutes avec stderr dans monitor.err, et process_logs.sh chaque jour à 02:00.

Enseignant

labby
Labby
Labby is the LabEx teacher.