Forum Programmation.shell Suivit de log au fil de l'eau

Posté par  .
Étiquettes : aucune
0
24
août
2006
Bonjour,

Je suis newbies en script bash shell. Mais j'aimerais realiser un script qui observe plusieurs log d'un serveur WEB 'au fil de l'eau'. ( authentification, activité , etc ..). Ceci pour corriger les scripts des pages WEB, avec le serveur ldap, etc.. .
Le script que j'ai créé tourne et fonctionne mais j'aimerais l'améliorer. En effet, j'aimerais avoir le titre du fichier et des séparation à chaque nouvel événement.


#!/bin/bash

tail -f /var/logs/access &› /dev/console
tail -f /var/ldap/amAuthentication.access &› /dev/console
tail -f /var/apache/message &› /dev/console
tail -f /var/adm/messages &› /dev/console



Merci d'avance
  • # un seul tail

    Posté par  . Évalué à 4.

    tail sait "écouter" sur plusieurs fichiers en même temps :

    tail -f /var/logs/access var/ldap/amAuthentication.access /var/apache/message /var/adm/messages &› /dev/console

    ça devrait le faire. Dès qu'un truc bouge, tail remet le nom du fichier qui a été modifié
    • [^] # Re: un seul tail

      Posté par  . Évalué à 1.

      Merci,

      Petite question alors je ne comprend pas pourquoi le script suivant ne fonctionne pas :

      data=$(find /var/ -mtime -1 -type f -print)
      tail -f $data &› /dev/console
      • [^] # Re: un seul tail

        Posté par  (site web personnel) . Évalué à 1.

        à cause des retours chariot de find. Essaye ca:
        data=$(find /var/ -mtime -1 -type f -print | xargs)
        tail -f $data &› /dev/console
        • [^] # Re: un seul tail

          Posté par  . Évalué à 1.

          non ça ne fonctionne pas même si je reduit le champs d'action du find ; C'est à dire avec un $data plus petit .

          Cdlt
      • [^] # Re: un seul tail

        Posté par  . Évalué à 1.

        bizarre ... chez moi :
        gabritou@gabritou $ touch fic1 fic2
        gabritou@gabritou $ data=$(find . -name 'fic*')
        gabritou@gabritou $ tail -f $data &
        [2] 7180
        ==> ./fic1 <==

        ==> ./fic2 <==

        gabritou@gabritou $ echo bla >> fic1
        ==> ./fic1 <==
        bla
        gabritou@gabritou $ echo bli >> fic2
        ==> ./fic2 <==
        bli


        de quelle façon il fonctionne pas ton script ?
        • [^] # Re: un seul tail

          Posté par  . Évalué à 1.

          Sur SOL 9 le tail ne donne pas le titre du fichier seul la commande head le donne. J'ai essayé sur ma station Linux, le tail fonctionne comme tu l'a indiqué.
          De plus j'ai remplacé l'expression "&> /dev/console" par simplement "&".

          J'aurais aimé avoir le find comme sur Linux :) , cela pour affiner mon find et enlever les infos non pertinantes

          Cdlt
          • [^] # Re: un seul tail

            Posté par  . Évalué à 1.

            mouais, avec un tail Solaris, c'est pas gagné ...
            si tu peux installer/faire installer le tail de GNU, ça sera plus simple ...

            globalement, si tu peux faire installer tous les utils GNU, tu galèreras moins ... ;-)
            • [^] # Re: un seul tail

              Posté par  . Évalué à 2.

              J'ai trouvé un pkg pour gnuTail SOL 9 et ça fonctionne comme sur Linux :)
              Encore merci les gars



              :~/# touch fic1 fic2
              :~/# data2=$(find . -name 'fic*')
              :~/# gnuTail -f $data2 &
              :~/# ==> ./fic1 <==

              ==> ./fic2 <==
    • [^] # Re: un seul tail

      Posté par  (site web personnel) . Évalué à 3.

      Et puis il y a l'application multitail

      http://www.vanheusden.com/multitail/

      Un espèce de "tail" sous spéroïdes, d'après ses auteurs, qui permet de faire ce genre de choses, et en plus d'avoir un peu de couleurs sur tout ça, pour miex suivre les logs
      • [^] # Re: un seul tail

        Posté par  . Évalué à 1.

        Merci,

        Mais apparement, cette application fonctionne sous Gnome.
        Je n'ai pas de serveur X sur mon serveur.
        Cdlt

Suivre le flux des commentaires

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