我们使用新贵来管理我们在Ubuntu服务器上的服务。它们生成的日志已注销到/var/log/upstart/SERVICE_NAME.log
然后每天使用12.04 LTS随附的logrotation脚本轮换日志文件:
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
问题在于,尽管logrotate移动文件,但似乎没有信号指示upstart关闭并重新打开文件,从而使upstart进程写入删除PID。
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
显然,我可以将输出从自己的服务重定向到其他日志文件,但是问题仍然存在于系统进程中。另外,我宁愿不必构建超出我所需的基础架构。
nocreate
指令,因此不确定为什么有人会使用该指令,尤其是对于可能编写大量输出的服务