Usamos o iniciante para gerenciar nossos serviços em nossos servidores Ubuntu. Eles produzem logs que são desconectados em /var/log/upstart/SERVICE_NAME.log
Diariamente, os arquivos de log são rotacionados usando o script de rotação de log que acompanha o 12.04 LTS:
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
O problema é que, enquanto o logrotate move os arquivos, ele não parece sinalizar para iniciar novamente para fechar e reabrir os arquivos, deixando o processo inicial gravando em um PID de exclusão.
init 1 root 8w REG 202,1 64 2431 /var/log/upstart/dbus.log.1 (deleted)
init 1 root 13w REG 202,1 95 2507 /var/log/upstart/acpid.log.1 (deleted)
init 1 root 14w REG 202,1 127 17377 /var/log/upstart/whoopsie.log.1 (deleted)
init 1 root 36w REG 202,1 122 6747 /var/log/upstart/SERVICE_NAME.log.1 (deleted)
init 1 root 37w REG 202,1 30 6762
Obviamente, eu poderia redirecionar a saída dos meus próprios serviços para outros arquivos de log, mas o problema ainda estaria lá para os processos do sistema. Também prefiro não ter que construir mais infraestrutura do que o que eu preciso.
nocreate
directiva, não tenho certeza por que alguém usaria essa directiva, especialmente para serviços que poderiam escrever um monte de saída