Retourner aux forums || Retourner au forum Programmation.shell

Programmation.shell : Analyse de log/reprise

Posté par TuxPierre () le 12 décembre 2006
0
Salut,

J'ai ecris un petit scrit pour analyser mes logs. Pas de soucis tout fonctionne. Par contre, je voudrais le "perfectionner" et faire en sorte de le lancer regulierement (ie toutes les x heures par exemple). Mais je voudrais eviter de reprendre le log depuis le debut. D'ou ma question ; y a t'il un moyen simple d'indiquer "un point" de reprise ? Je pensais d'abord compter le nombre de ligne et le stocker.. mais je ne trouve pas ca tres elegant.
Qqn aurait une idee ?
Merci

> Lire le message (4 commentaires, moyenne: 2).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

Idée

Posté par peck (page perso, ) le 12/12/2006 à 14:14. (lien). Évalué à 2.

Je ne vois pas d'idée simple autre que le nombre de lignes à part garder le fichier ouvert. Cela implique de laisser ton programme tourner et faire un sleep.

Attention pour le nombre de lignes, il te faudra gérer les logrotate.

Sinon tu peux regarder le source de logcheck pour savoir comment il s'y prend, il y a peut-etre de bonnes idées dedans.

  • [^]Re: Idée

    Posté par Moogle (page perso, ) le 12/12/2006 à 14:27. (lien). Évalué à 2.

    Tu peux compter le nombre d'octets aussi, c'est une bonne alternative au nombre de lignes. Ou de mots mais c'est plus compliqué. Les syllabes aussi mais c'est chaud.

    Sinon si tu fais avec la date, tu peux lui dire de sauter toutes les lignes tant que tu n'as pas atteint la date de la fois d'avant, mais ça te fais quand même lire toutes les lignes.

    • [^]Re: Idée

      Posté par peck (page perso, ) le 12/12/2006 à 15:39. (lien). Évalué à 3.

      Note que compter le nombre d'octets te permet d'appeler la fonction seek et donc de ne pas avoir a tout lire pour compter les lignes.

    • [^]Re: Idée

      Posté par Pascal (page perso, ) le 12/12/2006 à 17:30. (lien). Évalué à 1.

      Si je ne m'abuse, quand on compte le nombre de lignes, il faut aussi toutes les lire pour pouvoir les compter (par détéction du \n").

      Alors que l'on compte les lignes, ou que l'on travaille sur la date, il faut quand même tout lire...

      Il n'y a que la solution qui compte le nombre d'octets qui évite de tout lire en seekant le fichier.

      Pour ma part, j'ai quand même une préférence pour la date. Ca me parait de loin le plus fiable, notamment pour ne pas se planter lors des logrotate.

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.shell