Forum Programmation.shell Extraction code erreur, et redirection dans un fichier avec un libellé clair.

Posté par  .
Étiquettes : aucune
0
15
mar.
2006
Bonjour,

J'ai écris un script en bash, de sauvegarde sur DVD, pas très sorcier, en utilisant growisfs et mkisofs.

La vérification de la bonne réalisation de cette sauvegarde est sous la responsabilité d'un néophyte, pour lequel le contenu d'une log est indéchiffrable.

J'ai plusieurs fichiers de log (un pour chaque étape; formatage, gravure, création de l'image...), et j'aimerais pouvoir créer dans un autre fichier, un message clair et personnalisé, indiquant si la sauvegarde s'est bien déroulée ou non, en fonction de la présence des mots 'erreur' ou 'error' dans les fichiers de log initiaux.

Je pensais utiliser sed ou awk... mais j'ai quelques problèmes ...

Pourriez-vous m'aider ?

:)
  • # Extraction code erreur...

    Posté par  . Évalué à 2.

    Salut,

    Je peux te conseiller d'utiliser la commande grep pour filtrer les mots clés que tu cherches dans plusieurs fichiers :

    #> grep -q "error\|erreur" fichier1 fichier2 ...
    #> rc=$?

    Le code de retour rc t'indique si la recherche est fructueuse ou non.

    #> [ $rc -eq 0 ] && echo "Burn successful" || "Failed to burn"

    Voilà, j'espère que ces quelques lignes t'aideront !

    z4.
    • [^] # Re: Extraction code erreur...

      Posté par  . Évalué à 1.

      Je vais essayer de suite ! Merci beaucoup !

      :D
      • [^] # Re: Extraction code erreur...

        Posté par  . Évalué à 1.

        J'ai essayé ta solution et je t'en remerci ... mais j'ai des problèmes avec la syntaxe...

        J'ai un message qui me dit qu'il y a une erreur à la dernière ligne, la commande 'burn succesfull' n'existe pas.

        Je crois que j'ai du mal a syntaxer tout ca ... :s
        • [^] # Re: Extraction code erreur...

          Posté par  . Évalué à 1.

          Je m'en suis finalement sorti, voilà comment je m'y suis pris :

          grep -q "error" $log/crt.log $log/frmt.log $log/grv.log
          if [ $? -eq 0 ]
          then echo "Attention ! Il y a eu un problème lors de l'exécution de la procédure de sauvegarde du $date2." > $log/exploit/exploit.log
          else echo "L'opération de sauvegarde du $date2 s'est bien déroulée." > $log/exploit/exploit.log
          fi


          Merci encore !

          :D

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.