LogRotate Registros de script personalizados quebras de script?

0

Eu tenho um script daemon que sempre é executado em segundo plano. É configurado para canalizar stdout e stderr para alguns arquivos de log como tal:

python27 etl_daemon.py 1>>/var/log/etl/etl_stdout.log 2>>/var/log/etl/etl_stderr.log

Eu tenho a configuração logrotate nesses arquivos de log com a configuração para cada basicamente sendo:

$ cat /etc/logrotate.d/etl_stdout
/var/log/etl/etl_stdout.log {
daily
rotate 14
compress

O logrotate definitivamente funciona em termos de zipar e renomear logs antigos, mas parece que toda vez que é executado, ele quebra meu script e o deixa em execução, mas não faz mais nada. Eu estou supondo que isso pode ter algo a ver com a tentativa de gravar em um arquivo que agora foi renomeado, mas não tenho certeza. Idéias? Soluções?

    
por user57322 26.06.2014 / 02:49

1 resposta

1

Adicione a diretiva copytruncate à sua estrofe logrotate. Então o arquivo não será retirado do seu daemon.

Quando você fizer isso, certifique-se de escrever no modo append (como você tem no seu exemplo), caso contrário você vai acabar com arquivos esparsos após a rotação.

    
por 26.06.2014 / 03:04