Capturez la sortie du journal en rotation rapide

0

Je traite avec un programme tiers mal conduit, dont le fournisseur semble heureux de pouvoir vous aider si je peux leur fournir le journal de débogage. Ils m'ont dit comment activer et désactiver la journalisation du débogage, mais quelque part dans le programme, le fichier journal est limité à 65 Ko - selon le fournisseur, il s'agit d'un code dur. Dès que cette limite est atteinte, l'intégralité du journal est simplement supprimée et un nouveau fichier portant le même nom est créé. En conséquence, environ 1 minute de journal de débogage est enregistrée avant que le journal ne soit supprimé et qu'un nouveau ne soit créé. Essayer tail -f le journal n’aide pas car lorsque le nouveau est créé, ce n’est plus le même fichier, tail s'arrête juste.

Le tout est compliqué par le fait que le programme tourne sur un Linux intégré avec un support d'outils minimal (il n'y a pas de ssh ni de ftp, il n'y a que telnet pour s'y connecter). Il n'y a pas find commande, pas locate ou slocate et je ne parle même pas des compilateurs. Il y a une coquille là-bas - sh et ash - c'est tout. Je ne sais vraiment pas comment capturer environ 20 minutes de journalisation de débogage. Toutes les suggestions seraient plus qu'appréciées.

Aleks G
la source
1
Si tail -F est pris en charge, utilisez-le.
yoonix
Pouvez-vous voir des emplois cron? probablement le programme aurait écrit cron job, essayez d’en éditer l’heure, de sorte que vous puissiez échapper à la suppression
Saikrishna
@ Saï La suppression ne se produit pas par heure, mais par la taille du fichier journal. Dès que le fichier journal atteint 65 535 octets, il est supprimé.
Aleks G
Êtes-vous sûr que la suppression est effectuée par programme ou /etc/logrotate.d?
Saikrishna
@Sai il n'y a pas /etc/logrotate*. C'est un très version réduite de linux intégré.
Aleks G

Réponses:

0

Vous pouvez essayer de créer un petit script qui lit le fichier journal et l’ajoute à un autre fichier toutes les 50 secondes environ.

Si vous avez un chat ou un écho, cela devrait être relativement facile.

Si vous modifiez la question pour publier des exemples de noms du fichier journal, je peux vous aider à les faire correspondre dans un script bash

Bruno9779
la source
Oui, merci, c'est à peu près la seule chose à laquelle je puisse penser. Bien sûr, je devrai ensuite parcourir manuellement la sortie résultante et supprimer les enregistrements répétés.
Aleks G