Domanda coda smette di visualizzare in caso di una rotazione del registro


Devo codificare il registro di un server (servicemix) e la rotazione del registro è abilitata. Non appena si verifica la rotazione, la coda smette di mostrare. Ho fatto alcune indagini ed è un bug in Debian: Rapporto sui bug di Debian. Il bug è in circolazione da molto tempo. Qualcuno sa se questo bug in Ubuntu deve essere risolto?

Sono su Ubuntu 12.04 64 bit. Non devo dire che questo bug è un inferno totale! Ogni volta che ho il problema, devo interrompere il comando tail e rieseguire il comando!


1
2017-10-18 09:53


origine


È vero che posso disabilitare la rotazione del registro. Ma vorrei che questo problema fosse risolto ... - Rudy Vissers


risposte:


Il Gnu coreutils la versione della coda ha il --follow[={name|descriptor}] parametro, che consente di seguire il nome del file anziché il descrittore. Continua a file di coda anche dopo aver ruotato o troncato. Dall'output della guida:

Con --follow (-f), tail assume come predefinito il seguente descrittore di file, che   significa che anche se un file di coda viene rinominato, la coda continuerà a tracciare   la sua fine Questo comportamento predefinito non è desiderabile quando lo desideri   traccia il nome effettivo del file, non il descrittore del file (ad esempio, log   rotazione). In questo caso usa --follow = nome. Ciò fa sì che la coda segua il percorso   denominato file in modo da consentire la ridenominazione, la rimozione e la creazione.

Sono su Fedora, ma credo che sia possibile installare i coreutils di Gnu su Ubuntu con il seguente comando:

sudo apt-get install coreutils

2
2018-01-31 07:36





È possibile automatizzare l'interruzione e la ripresa del comando di coda aggiungendo i comandi necessari al proprio logrotate configurazioni. Vedere https://help.ubuntu.com/community/LinuxLogFiles#Log_Rotation - In breve, probabilmente vorrai inserire il comando /etc/cron.daily/logrotate, il crontab a livello di sistema che gestisce la rotazione.


1
2017-11-26 03:43





Come indicato nella segnalazione di bug, è possibile evitare il malfunzionamento inotify codice con:

tail ---disable-inotify servicemix.log

Quindi utilizzerà un comportamento di polling più vecchio.


0
2017-10-18 11:33



Ho appena testato la soluzione alternativa e non evita code to block ... :-( - Rudy Vissers
Ho fatto un secondo controllo ed è davvero il caso su Ubuntu 12.04 e debian ... tail non funziona ... Non è accettabile ... - Rudy Vissers
@RudyVissers Hai già presentato una segnalazione di bug con Ubuntu? - hexafraction
Capisco che questo non è accettabile per te, ma potrebbe essere di nu lamento lamentarsi qui come coreutuils è di Debian. Poiché questo problema non è localizzato su Ubuntu, è meglio chiedere a Unix e Linux. - hexafraction
Hai ragione e lo farò non appena avrò tempo. - Rudy Vissers