IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

[bash] script qui analyse un fichier de log en live


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Merfolk
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 170
    Par défaut [bash] script qui analyse un fichier de log en live
    Bonjour,
    je veux écrire un script qui analyse un fichier de log, afin de sonder l'état d'une application

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tail -f $DERNIERFICHIERLOG | grep "connection" | cut -d "(" -f 2 | cut -d " " -f 1 > status$DATE.txt
    Est-ce que c'est correct de faire un grep sur un tail -f dans le principe, ou est-ce une horreur ? (je n'ai pas trop l'habitude d'écrire ce genre de scripts)
    ça fonctionne, mais, je ne sais pas si c'est lent ou si c'est un effet de flush : j'ai 0 résultat pendant 40 secondes, puis 30 lignes d'un coup...et ainsi de suite.
    y a t il moyen de forcer l'affichage ligne par ligne en live ?
    ou alors c'est à cause des cuts ? Si j'enlève les 2 cuts, c'est déjà beaucoup plus "temps réél"

    quelqu'un à une idée , ou peut me donner une meilleure façon de faire ?
    merci

  2. #2
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    Les scripts shells sont pas vraiment faits pour traiter des flux en temps-réel.
    Le mieux que tu puisse faire c'est rééecrire toi-même le traitement de flux (éventuellement en bash).

    Pour faire ça, tu peux commencer par une boucle du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while read l; do
        # Trucs à faire sur la ligne l
    done
    Si tu écrits les lignes une à une dans le fichier tu devrait empêcher toute buffurisation.

    Sinon, tu peu aussi l'écrire en C...

Discussions similaires

  1. Script qui édite un fichier
    Par dré kam dans le forum Langage
    Réponses: 7
    Dernier message: 13/03/2012, 00h34
  2. Réponses: 7
    Dernier message: 28/04/2009, 16h05
  3. script qui crée des fichiers
    Par Emcy dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 09h28
  4. Analyser un fichier de log Apache
    Par altecad dans le forum Langage
    Réponses: 1
    Dernier message: 10/09/2007, 22h51
  5. Programme qui analyse un fichier log
    Par abdou.sahraoui dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 20/08/2004, 14h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo