Usiamo upstart per gestire i nostri servizi sui nostri server Ubuntu. Producono registri che sono disconnessi in /var/log/upstart/SERVICE_NAME.log
Quindi quotidianamente, i file di registro vengono ruotati utilizzando lo script logrotation fornito con 12.04 LTS:
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
Il problema è che mentre logrotate sposta i file, non sembra segnalare l'avvio di chiudere e riaprire i file, lasciando il processo di avvio scrivendo su un PID di eliminazione.
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
Ovviamente potrei reindirizzare l'output dai miei servizi ad altri file di registro, ma il problema sarebbe ancora presente per i processi di sistema. Inoltre, preferirei non dover costruire più infrastrutture di quelle di cui ho bisogno.
nocreate
direttiva, non sono sicuro del motivo per cui qualcuno dovrebbe utilizzare questa direttiva, soprattutto per i servizi che potrebbero potenzialmente scrivere un sacco di output