LogRotate Script personalizzati Registri interruzioni script?


0

Ho creato uno script daemon che viene sempre eseguito in background. È configurato per reindirizzare stdout e stderr ad alcuni file di registro come tali:

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

Ho configurato logrotate su quei file di registro con la configurazione per ognuno sostanzialmente:

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

logrotate funziona sicuramente in termini di zippare e rinominare i vecchi registri, ma sembra che ogni volta che gira busta il mio script e lo lascia in esecuzione ma non fa più nulla. Suppongo che questo potrebbe avere qualcosa a che fare con il tentativo di scrivere su un file che ora è stato rinominato, ma non sono sicuro. Idee? Soluzioni?

Risposte:


1

Aggiungi la copytruncatedirettiva alla tua stanza logrotate. Quindi il file non verrà estratto da sotto il tuo demone.

Quando lo fai, assicurati di scrivere in modalità append (come nel tuo esempio), altrimenti finirai con file sparsi dopo la rotazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.