Kyl*_*ndt 19
看起来我可能想要以下内容,但仍然对任何人在该主题上的专业知识感兴趣:
copytruncate
Truncate the original log file to zero size in place after cre?
ating a copy, instead of moving the old log file and optionally
creating a new one.
Run Code Online (Sandbox Code Playgroud)
对于那些不接受 Rory 描述的 logrotate 信号的应用程序,我使用了几种方法。
决定使用哪个取决于日志文件的大小和无缝日志的必要性。这将是您自己的风险分析。但是,举个例子,我在某些日志上使用旋转后重启,我实际上应该使用 copytruncate。然而,这些文件通常是几场演出,复制可能需要足够长的时间,每晚丢失一两秒钟是可取的。
logrotate 会向进程发送正确的信号,告诉它重新打开日志文件。对于 apache 或 mysql 之类的东西,它开箱即用。
您可以在 apache 的 postrotate 脚本中看到这一点。如果您有自己的守护进程,并且希望 logrotate 使用它,请确保它侦听某个信号并重新打开日志文件。
如果您无法更改程序,那么您可以查看守护进程是否有自动刷新日志的方法。或者添加一个停止服务器的预旋转,以及一个再次启动它的后旋转。
归档时间: |
|
查看次数: |
12981 次 |
最近记录: |