Estou olhando para mudar minha configuração de rotação de log para girar os logs de hora em hora em vez de diariamente. Acho que tenho a configuração pronta, mas queria verificar se a configuração acionaria uma recarga/reinicialização do processo com as opções de pós-rotação?
Estou executando isso no Ubuntu 16.04 e copiei minha configuração de /etc/cron.daily para /etc/cron.hourly pronto para ir
Aqui está minha configuração aqui do arquivo logrotate.d/nginx:
/var/log/nginx/*/*.log {
hourly
missingok
rotate 720
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
Se isso matar o processo, existe uma maneira de contornar esta etapa?
O comando que você pode ver:
na verdade não mata o processo.
Em vez disso,
kill
envia um sinal específico "USR1
" que para o nginx tem um significado específico e informa ao processo mestre do nginx para reabrir seus arquivos de log.Isso significa efetivamente que o nginx começa a gravar nos novos arquivos de log.
Com alguns outros programas que não são projetados como daemons adequados e não entendem esse sinal, isso pode ser um problema e você teria que matá-los e reiniciá-los. Isso não se aplica ao NGinx.