Comment combiner une horloge time réel avec la queue -F

Je cours toujours la tail -F pour surveiller un journal dans une window de terminal. Le journal a une date UTC au début de chaque input:

 [08-Jan-2013 16:24:22] Yo! 

Quand je regarde ma window de journal, je dois savoir quel sont les inputs. Je préférerais ne pas avoir à regarder mon horloge locale et faire les calculs. J'ai donc pensé qu'il serait cool d'avoir un affichage de l'horloge en time réel dans la window avec le passage de la tail .

Ce que je viens de faire, c'était une boucle d'arrière-plan qui faisait echo la date et un return de chariot. Lorsqu'une input de journal est écrite, la tail écrase l'horloge.

 while true; do echo -ne `date +"[%d-%b-%Y %H:%M:%S]"`"\r"; sleep 1; done & log -F /path/to/log 

Cela fonctionne essentiellement, mais je m'inquiète de ce qui se passe lorsque les sorties de la tail et de la date produisent la production en même time. Je ne veux pas que mon sharepoint vue sur le journal soit gâté par le return du chariot.

Comment puis-je multiplex ces sorties set afin qu'elles ne puissent pas entrer en collision? Est-ce un travail pour l' screen ou autre chose?

Le journal est sur un server Debian distant. Mon post de travail exécute OSX. Je me connecte via SSH pour exécuter le script ci-dessus.

2 Solutions collect form web for “Comment combiner une horloge time réel avec la queue -F”

Vous pouvez utiliser l'option -s de la queue afin que votre queue dort pendant 5 secondes:

 -s, --sleep-interval=S with -f, sleep for approximately S seconds (default 1.0) between iterations. tail -s 5 -f /var/log/messages 

Ou la command de montre vous montrera la date:

 watch --interval=5 tail /var/log/messages Every 5.0s: tail /var/log/messages Tue Jan 8 17:52:41 2013 

Jan 8 17:52:34 localhost kernel: NOUVEAU: IN = eth0 OUT = MAC = 00: 60: 56: 73: 14: 6b: 00: 50: 5b: 93: 49: 5d: 08: 00 SRC = 10.0. 0,2 DST = 10,0.0.1 LEN = 60 TOS = 0x00 PREC = 0x00 TTL = 64 ID = 29070 DF PROTO = TCP SPT = 50561 DPT = 25 WINDOW = 5840 RES = 0x00 SYN URGP = 0

Une autre solution (pas particulièrement agréable) utilisant la command strace-t:

  strace -t tail -f /var/log/messages 

Enfin, vous pouvez écrire votre propre command de queue modifiée dans python / perl / ruby:

https://stackoverflow.com/questions/136168/get-last-n-lines-of-a-file-with-python-similar-to-tail

et ajoutez simplement la date / l'heure à la ligne de sortie.

Vous voudrez peut-être jeter un coup d'oeil à multitail ; il prend en charge plusieurs windows avec des files journaux séparés ou fusionnés, des coloris regex par type de file, des options d'insertion de mots, une montre de nom de file (utile pour les files enregistrés) et plus encore.

Oh, et une horloge sur la ligne d'état.

  • Equivalent Windows pratique à la queue -f file journal?
  • Le directory de queue de messagerie coincé dans le server SMTP IIS
  • Je reçois l'erreur qsub: UID incorrect pour l'exécution du travail en essayant de soumettre un travail via PBS
  • Emails collés dans la queue SMTP sur Windows 2008 R2 Web Edition
  • postfix prend 60 à 90 ms pour mettre en queue le courrier électronique - normal?
  • Shell basé sur la queue dans linux?
  • Tail -f sur les nouveaux files
  • Applications pour renvoyer les journaux httpd sur ssh dans Windows en plus d'un terminal ssh
  • Spooler de tâches pour le server de calcul sur Debian
  • Erreur d'installation PHP-ZMQ pecl - Impossible de find l'installation libzmq
  • sendmail - assurez-vous qu'un courriel est envoyé
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.