Transforme o arquivo de log em FIFO ( man mkfifo
) e coloque um processo no lado da leitura que separa sua entrada em arquivos de tamanho limitado.
mkfifo /path/to/logfifo.app_xy
split ... </path/to/logfifo.app_xy &
/bad/app
Eu tenho um aplicativo legado que gera uma grande quantidade de mensagens de registros.
Gostaria de poder girar o arquivo a cada minuto (ou mais), mas sem perder / truncar nenhuma mensagem.
O aplicativo não é capaz de alterar o arquivo por si só, então eu preciso fazê-lo externamente.
Navegando na net, eu vi muita sugestão para usar cp
seguido por cat /dev/null
, mas como meu aplicativo está gerando quase um fluxo contínuo de mensagens, algumas mensagens são perdidas durante o processo.
Você tem alguma ideia?
Tags logs