我将日志记录openvpn移到了自己的日志中,并尝试为其设置日志轮换,但显然我做错了什么。
日志记录根据需要发生,但总是在第二个日志文件中openvpn.log.1。“当前”日志文件openvpn.log存在,但始终为空。
-rw------- 1 root root 0 Apr 20 07:35 openvpn.log
-rw------- 1 root root 5411 Apr 20 07:58 openvpn.log.1
Run Code Online (Sandbox Code Playgroud)
这是我的 openvpn 的 logrotate 配置文件。
/var/log/openvpn.log {
daily
rotate 7
delaycompress
compress
notifempty
missingok
}
Run Code Online (Sandbox Code Playgroud)
Openvpn 中server.conf关于日志记录的那一行是
log-append /var/log/openvpn.log
我搞砸了什么?
根据openvpn-users 邮件列表上的这篇旧帖子:
openvpn 日志记录是通过将 stdout/stderr 重定向到日志文件来完成的
所以解决办法是使用copytruncatelogrotate配置中的选项:
复制截断
创建副本后,将原始日志文件原地截断为零大小,而不是移动旧日志文件并可选择创建新日志文件。当某些程序无法被告知关闭其日志文件并因此可能永远继续写入(附加)到前一个日志文件时,可以使用它。请注意,复制文件和截断文件之间的时间片非常短,因此可能会丢失一些日志记录数据。使用此选项时,创建选项将无效,因为旧日志文件保留在原处。
这是我的/etc/logrotate.d/openvpn文件中的内容:
/var/log/openvpn.log {
weekly
rotate 12
copytruncate
compress
delaycompress
missingok
notifempty
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7572 次 |
| 最近记录: |