Écrire un script de synthèse des erreurs dans les 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 manuellement les commandes 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 défi vous demande de créer un petit script réutilisable, sans copier-coller supplémentaire, sans répertoire de rapports ni exigences particulières de gestion des erreurs.

Créer le script de synthèse des erreurs

Situation actuelle

/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 se terminant par .log.
  • Pour chaque fichier, comptez les lignes commençant 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 est exécutable.

  • ./process-logs.sh logs affiche :

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

Indices

Quel exemple guidé correspond le mieux à ce défi ?

Revoyez la boucle qui parcourait "$log_dir"/*.log, comptait les lignes ^ERROR et affichait le nom de base avec son compteur.

Résumé

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

✨ Vérifier la solution et pratiquer