Écrire un script de synthèse des erreurs des journaux

ShellBeginner
Pratiquer maintenant

Introduction

Trois journaux d’application nécessitent le même contrôle simple : compter les lignes qui commencent par ERROR et afficher un résultat pour chaque fichier. Répéter les commandes manuellement est inutile lorsqu’une courte boucle peut traiter tous les fichiers .log.

Le laboratoire guidé précédent a construit exactement ce type de boucle, étape par étape. Ce challenge vous demande de créer un petit script réutilisable, sans copie supplémentaire, sans répertoire de rapports et sans exigences de gestion des erreurs.

Créer le script de synthèse des erreurs

Situation actuelle

Le répertoire /home/labex/project/log-automation/logs contient api.log, healthy.log et worker.log.

Périmètre

  • Créez /home/labex/project/log-automation/process-logs.sh.
  • Son premier argument doit être le répertoire contenant les journaux.
  • Traitez les fichiers dont le nom se termine par .log.
  • Pour chaque fichier, comptez les lignes qui commencent par ERROR.
  • Affichez une ligne au format filename errors=count.

Objectif

Laissez un script exécutable qui affiche la synthèse correcte des erreurs lorsqu’il est exécuté avec ./process-logs.sh logs.

Critères de validation

  • Le script commence par #!/bin/bash et possède le droit d’exécution.

  • ./process-logs.sh logs affiche :

    api.log errors=1
    healthy.log errors=0
    worker.log errors=2
    

Indices

Quel exemple guidé correspond le mieux à cette tâche ?

Relisez la boucle qui parcourait "$log_dir"/*.log, comptait les lignes correspondant à ^ERROR et affichait le nom de base avec son nombre d’erreurs.

Résumé

Vous avez transformé une boucle familière de comptage dans des journaux en un court script Bash réutilisable.

✨ Vérifier la solution et pratiquer