2024-06-13 21:58:28 发布
网友
有人问过类似的问题,但我没有遇到一个简单易行的方法
我们有各种各样的应用程序日志,这些日志填满了空间,我们还面临其他不需要的问题。如何为这个维护编写监控脚本(压缩特定大小的文件、移动它们、监视它们等等)?我正在寻找一个简单的解决方案(如在使用什么?),如果可能,在python中,或者可能只是一个shell脚本。在
谢谢。在
使用logrotate为您做这项工作。在
请记住,在少数情况下,可能无法正常工作,例如,如果日志记录应用程序始终打开日志文件,并且如果删除并重新创建该文件,则无法恢复日志文件。在
在过去的几年里,我遇到过一些这样的应用程序,但是即使是对于它们,您也可以配置logrotate在它旋转日志时重新启动它们。在
这样做的“标准”方法(至少在大多数Gnu/Linux发行版上)是使用logrotate。我在Debian机器上看到一个/etc/logrotate.conf,其中详细说明了要旋转哪些文件以及以什么频率旋转。它由一个每日cron条目触发。这是我推荐的。在
/etc/logrotate.conf
如果您希望应用程序本身执行此操作(这确实是一个痛苦的问题,因为它不是它的工作),您可以考虑编写一个自定义的log handler。RotatingFileHandler(或timedrotingfilehandler)可能可以工作,但您可以编写一个自定义的。在
大多数系统默认设置为自动旋转syslog发出的日志文件。您可能需要考虑使用SysLogHandler并将日志记录到syslog(无论语言如何),以便系统基础设施自动为您处理事务。在
使用logrotate为您做这项工作。在
请记住,在少数情况下,可能无法正常工作,例如,如果日志记录应用程序始终打开日志文件,并且如果删除并重新创建该文件,则无法恢复日志文件。在
在过去的几年里,我遇到过一些这样的应用程序,但是即使是对于它们,您也可以配置logrotate在它旋转日志时重新启动它们。在
这样做的“标准”方法(至少在大多数Gnu/Linux发行版上)是使用logrotate。我在Debian机器上看到一个
/etc/logrotate.conf
,其中详细说明了要旋转哪些文件以及以什么频率旋转。它由一个每日cron条目触发。这是我推荐的。在如果您希望应用程序本身执行此操作(这确实是一个痛苦的问题,因为它不是它的工作),您可以考虑编写一个自定义的log handler。RotatingFileHandler(或timedrotingfilehandler)可能可以工作,但您可以编写一个自定义的。在
大多数系统默认设置为自动旋转syslog发出的日志文件。您可能需要考虑使用SysLogHandler并将日志记录到syslog(无论语言如何),以便系统基础设施自动为您处理事务。在
相关问题 更多 >
编程相关推荐