我有一个运行openvpn的Ubuntu 8.04 LTS服务器。 openvpn服务器写入/ var / log下的标准日志文件,在一个月前,logrotate会自动旋转文件并压缩它们。
文件仍在旋转,但是新的日志文件(ovpn.log)是空的。 重新启动openvpn守护进程可以解决问题(例如:openvpn将状态事件写入文件),但是大约10天后文件再次被轮转,openvpn不能再次写入日志文件。 这也是奇怪的,因为logrotate设置为每6个月旋转一次。
Openvpn作为nobody运行,并且日志文件由root和admin拥有,这很奇怪,因为它应该在任何时候都工作,或者如果权限是原因,根本不工作,除非openvpn暂时作为root运行,然后在初始化之后下降到没有人?
OpenVPN可能仍然在写入旧日志文件(它在启动时打开的文件(inode))。
Logrotate需要通知OpenVPN守护进程,因为它的日志文件已经被切换,所以OpenVPN可以打开新的日志文件(这通常是通过信号完成的,但是停止/重新启动整个守护进程的效果是一样的)检查OpenVPN手册页“postrotate”脚本)。
或者,你可以configurationOpenVPN使用系统日志,因为logrotate应该在日志文件滚动的时候通知syslogd (或者所有的日志文件都是空白的)。
你的/etc/logrotate.d/openvpn (或者类似的文件)是否有一个发送SIGHUP的postrotate动作? 这应该告诉守护进程日志文件已被旋转。
这听起来像旋转的移民已经打破。
你升级了logrotate和/或openvpn吗?
尝试添加选项“copytruncate”到Openrotp的logrotateconfiguration。 这个选项可能会解决这个问题。