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

Shell et commandes GNU Discussion :

[Shell] Question sur tail


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut [Shell] Question sur tail
    Bonjour,

    Je travaille sous un serveur sous Debian accessible en SSH via Putty (Windows).
    J'ai les droits en lecture sur les fichiers de logs myql et apache.
    Quand je veux voir ce qui se trame là dedans , je fait un : (par exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tail -f /var/log/mysql/queries > tmp
    mais voila cette commande nécessite une opération manuelle.
    Je voudrais savoir si il y a moyen de faire un tail régulièrement
    par un cron par exemple

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2005
    Messages
    344
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 344
    Par défaut
    Salut,

    Si tu as déjà les infos dans les logs et que tu as des droits en lecture dessus, pourquoi veux-tu rediriger les infos de ces logs dans un autre fichier ( > tmp ) ??
    De plus, quelle serait la finalité de ton action ? Si c'est pour vérifier les logs que lorsque tu te connectes, je ne voit pas trop l'utilité de le mettre dans un cron ...
    Par contre, si tu veux parser les logs et t'envoyer un mail à chaque fois qu'il y a une erreur par exemple, alors oui, c'est pratique.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    Citation Envoyé par usf70 Voir le message
    Salut,

    Si tu as déjà les infos dans les logs et que tu as des droits en lecture dessus, pourquoi veux-tu rediriger les infos de ces logs dans un autre fichier ( > tmp ) ??
    De plus, quelle serait la finalité de ton action ? Si c'est pour vérifier les logs que lorsque tu te connectes, je ne voit pas trop l'utilité de le mettre dans un cron ...
    Par contre, si tu veux parser les logs et t'envoyer un mail à chaque fois qu'il y a une erreur par exemple, alors oui, c'est pratique.
    parce qu'il est long, très long (plus de deux ans d'utilsation, ça en génére du log)

    Enfait, dans mon cas, je voudrais savoir qu'elle script php éxecute qu'elle requête
    mais je crois que j'ai une idée
    pondre un autre php (inclue dans tous les autres fichiers) qui écrit dans un log l'horaire auquel un utilisateur visite la page et ensuite je compare grace à diff les log mysql à ça

  4. #4
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Est ce que tu pourrais montrer un exemple des données que tu reçois et du résultat que tu voudrais obtenir idéalement ?
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  5. #5
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    Citation Envoyé par ggnore Voir le message
    Est ce que tu pourrais montrer un exemple des données que tu reçois et du résultat que tu voudrais obtenir idéalement ?
    Euh en entier ???
    c'est un fichier qui fait 691 705 lignes donc je vais vous montrer le début
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    /usr/local/mysql/libexec/mysqld, Version: 4.1.22-log. started with:
    Tcp port: 3306  Unix socket: /var/run/mysqld/mysqld.sock
    Time                 Id Command    Argument
    071023 11:38:09       1 Connect     skyjoomluser@localhost on
                          1 Init DB     skyjooml
                          1 Query       SELECT * FROM sky_mbf_language WHERE iso='fr'
                          1 Query       SELECT template
     FROM sky_templates_menu
     WHERE client_id = 0
     AND menuid = 0
                          1 Query       DELETE FROM sky_session
     WHERE ( time < '1193129289' )
                          1 Query       SELECT * FROM sky_session WHERE session_id='c20667786aa15c89e9dc70f26718913f'
                          1 Query       SELECT session_id
     FROM sky_session
     WHERE session_id = MD5( 'cd5b99418e785700bffc48f72c9c96f4' )
                          1 Query       INSERT INTO sky_session ( `session_id`,`time`,`username`,`gid`,`guest` ) VALUES ( '7ae3d0502979f633b341e2987498ed5f','1193
    132289','','0','1' )
                          1 Query       SELECT folder, element, published, params
     FROM sky_mambots
     WHERE published >= 1
     AND access <= 0
     AND folder = 'system'
     ORDER BY ordering
                          1 Query       SELECT params
     FROM sky_mambots
     WHERE element = 'jombackup.systembot'
     AND folder = 'system'
                          1 Query       SELECT id, link
     FROM sky_menu
     WHERE menutype = 'mainmenu'
     AND published = 1
     ORDER BY parent, ordering LIMIT 1
                          1 Query       SELECT mbf_content.reference_field, mbf_content.value
    FROM sky_mbf_content AS mbf_content,
       sky_mbf_language as mbf_language
    WHERE mbf_content.language_id=mbf_language.id
            AND mbf_content.published=1
       AND mbf_content.reference_id='1'
       AND mbf_content.reference_table='menu'
            AND mbf_language.mambo='french'
                          1 Query       SELECT template
     FROM sky_templates_menu
     WHERE client_id = 0
     AND menuid = 0
                          1 Query       SELECT template
     FROM sky_templates_menu
     WHERE client_id = 0
     AND menuid = 1
     LIMIT 1
                          1 Query       SELECT template
     FROM sky_templates_menu
     WHERE client_id = 0
     AND menuid = 1
     LIMIT 1
                          1 Query       DELETE FROM sky_session
     WHERE ( time < '1193129289' )
                          1 Query       SELECT * FROM sky_session WHERE session_id='c20667786aa15c89e9dc70f26718913f'
                          1 Query       SELECT session_id
     FROM sky_session
    donc vous voyez le format de ce log
    l'idée serait idéalement qu'à chaque fichier PHP appelé le tail -f du log soit redirigé vers un fichier créer dans /home/user/mysql-queries est qui soit nommé comme la date (au format %Y%m%d) (par php, mais je sais pas si ça peut se faire)

    ou sinon en bash, redirigé ce tail -f du fichier de log vers des fichiers "date de début - date de fin" dans /home/user/mysql-queries par exemple toutes les minutes (cron)

  6. #6
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Je pense qu'il faut que tu te renseignes précisément sur ce que fait tail -f sur ton système...

    En général, tail -f affiche les X dernières lignes du fichier, puis continue pour afficher les lignes qui pourraient se rajouter, sans jamais se finir.

    Comment donc faire pour lancer ce programme depuis la crontab, puis l'arréter ???


    Pourquoi ne pas chercher à configurer tes logiciels pour qu'ils écrivent leurs logs dans des fichiers tournants de taille plus raisonnable ?
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

Discussions similaires

  1. une petite question sur des arguments du unix shell
    Par kinkichin dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 22/09/2009, 12h25
  2. Deux questions sur "Call Shell"
    Par maban dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/08/2007, 16h38
  3. Réponses: 2
    Dernier message: 28/07/2007, 01h21
  4. Questions sur le shell Bash
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 07/09/2006, 18h19
  5. Quelques petites questions sur le shell
    Par Badaboumpanpan dans le forum Linux
    Réponses: 8
    Dernier message: 01/04/2006, 00h09

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