linux – 使logrotate仅在服务启动时轮换

linux – 使logrotate仅在服务启动时轮换,第1张

概述我想在每次启动服务时都进行日志文件轮换,但从不“自动”. 我正在运行一个基于python的服务,该服务记录到特定的日志文件. 该服务(当前)不支持重新打开其日志文件的通知(例如USR1陷阱). 此外,不能重新启动服务以进行日志文件轮换(它会产生一个连续的音频流,不应该被中断). 我正在运行的系统没有硬件时钟,因此每次系统启动时都会重置时钟,这使得同一文件中不同重启的日志条目繁琐(我多次获得相同的日 我想在每次启动服务时都进行日志文件轮换,但从不“自动”.

我正在运行一个基于python的服务,该服务记录到特定的日志文件.
该服务(当前)不支持重新打开其日志文件的通知(例如USR1陷阱).
此外,不能重新启动服务以进行日志文件轮换(它会产生一个连续的音频流,不应该被中断).

我正在运行的系统没有硬件时钟,因此每次系统启动时都会重置时钟,这使得同一文件中不同重启的日志条目繁琐(我多次获得相同的日期).

我也希望保持各种靴子的历史.

因此,我们的想法是在每次启动时使用日志轮换(仅限).

在启动服务之前运行/usr/sbin / logrotate –force /etc/logrotate.d/myservice之类的东西应该可以解决问题.

现在我的问题是,是否有可能以这样的方式在/etc/logrotate.d/myservice中配置log-rotationg,它将永远不会自动运行?

一个简单的解决方案是不将我的logrotate-config文件存储在/etc/logrotate.d/中,而是存储在“其他地方”.

但是,我想让我的用户能够在一个众所周知的地方找到logrotate-config(这样他们就可以随意修改配置).

解决方法 您可以配置logrotate以通过copy-truncate旋转文件,该文件保留原始文件,并且不需要您重新创建日志文件.

语法是:

/tmp/output.log {        size 1M        copytruncate        rotate 4        compress}

这将复制当前文件,然后cat / dev / null>文件

话虽这么说,logrotate只会“自动”旋转特定位置的文件,除非另有配置.我想你正在将你的脚本记录到/ var / log / httpd,这就是它被自动轮换的原因.

总结

以上是内存溢出为你收集整理的linux – 使logrotate仅在服务启动时轮换全部内容,希望文章能够帮你解决linux – 使logrotate仅在服务启动时轮换所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1035737.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存