Usamos el sistema de arranque para administrar nuestros servicios en nuestros servidores Ubuntu. Producen registros que se desconectan a /var/log/upstart/SERVICE_NAME.log
Luego, diariamente, los archivos de registro se rotan utilizando el script de rotación de registro que viene con 12.04 LTS:
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
El problema es que, si bien logrotate mueve los archivos, no parece indicar un arranque para cerrar y volver a abrir los archivos, dejando el proceso de arranque escribiendo en un PID de eliminación.
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 podría redirigir la salida de mis propios servicios a otros archivos de registro, pero el problema aún estaría allí para los procesos del sistema. Además, preferiría no tener que construir más infraestructura de la que necesito.
nocreate
directiva, no estoy seguro de por qué alguien usaría esta directiva, especialmente para servicios que potencialmente podrían escribir una gran cantidad de salida