Faire un "tail" durant un certain temps

Faire un "tail" durant un certain temps - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 30-01-2009 à 10:17:07    

Bonjour,  
 
Je suis entrain de bosser sur la supervision de fichiers log (maillog, squid, jboss ....)
 
J'ai besoin de connaitre combien de fois une occurence apparait durant 1min  dans un fichier.
 
Donc quelque chose comme
 
tail -f -n0 /var/log/mail.log | grep ..... > tmp.log
 
Par contre je n'arrive pas faire en sorte d'executer cette commande 60 secondes

Reply

Marsh Posté le 30-01-2009 à 10:17:07   

Reply

Marsh Posté le 30-01-2009 à 10:52:19    

Je n'ai pas la réponse a ta question, mais tu peux contourner le probleme en faisant un ptit cron qui va ecrire toutes les 60s dans le fichier en question?

Reply

Marsh Posté le 30-01-2009 à 11:08:27    

oauis mais je fais ca je recpure tout le contenu du fichier source

Reply

Marsh Posté le 30-01-2009 à 11:15:50    

Voila ce que j'ai fait
 

Code :
  1. #!/bin/bash
  2. usage() {
  3.         echo $0 FileToParse TmpLog
  4.         echo Default Time is 60s 
  5. }
  6. tailfunc()
  7. {
  8.         tail -f -n0 $1 > $2 &
  9.         PID=$!
  10.         sleep $3
  11.         kill -9 $PID
  12. }
  13. if [ $# -ne 2 ]; then
  14.         echo "nombre d'arguments incorrect"
  15.         usage
  16.         exit
  17. fi
  18. TMPLOG=$2
  19. TIME=60
  20. if [ -r $1 ]; then
  21. FILE=$1
  22. else
  23. echo "$1 does not exist or cannot be read"
  24. exit
  25. fi
  26. tailfunc "$FILE" "$TMPLOG".curr $TIME
  27. cp "$TMPLOG".curr "$TMPLOG".finish


 
Vous en pensez quoi ?


Message édité par dam1330 le 30-01-2009 à 12:24:06
Reply

Marsh Posté le 30-01-2009 à 11:28:56    

sinon tu lance ton tail et a cote tu fait " sleep xx && killall tail"
Mais bon, s'pas forcément une bonne solution...

Reply

Marsh Posté le 01-02-2009 à 12:23:06    

en tout cas pour l'affichage à l'écran une commande comme watch -n60 serait une bonne alliée.

Reply

Marsh Posté le 09-02-2009 à 00:55:33    

kill -9 $PID :o
 
Dis donc, le signal SIGKILL on évite de le lancer par défaut...
Un kill $PID devrais suffire. Après tu peux tester si le PID est actif, en dernier recours tu lui envoie un -9 dans les gencives.  
<HorsSujet>C'est quoi cette obsession en psy et en informatique de "tuer le père" ?</HorsSujet>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed