的手册页logrotate说:
It can be used when some program cannot be told to close its logfile
and thus might continue writing to the previous log file for some
time.
Run Code Online (Sandbox Code Playgroud)
我对此感到困惑。如果程序不能被告知关闭其日志文件,它将续写永恒,而不是一段。如果压缩被推迟到下一个循环周期,即使在下一个循环周期之后,程序也会继续写入该文件。延期如何解决问题?
我的理解是copytruncate当不能告诉程序关闭日志文件时应该使用它。我知道一些写入日志文件的数据在复制过程中会丢失。
我正在查看 couchdb 的 logrotate 文件,它有copytruncate和delaycompress选项。
/usr/local/couchdb-1.0.1/var/log/couchdb/*.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}
Run Code Online (Sandbox Code Playgroud)
看起来使用delaycompresswhencopytruncate已经没有意义了。我错过了什么?
logrotate ×1