介绍
Logrotate是一个管理日志文件自动旋转和压缩的系统工具。 如果日志文件没有被轮转,压缩和定期修剪,他们最终可能会占用系统上所有可用的磁盘空间。
Logrotate默认安装在Ubuntu 16.04上,并且设置为处理所有已安装软件包(包括rsyslog ,默认系统日志处理器)的日志轮转需求。
在本文中,我们将探索默认的Logrotate配置,然后为虚拟自定义应用程序配置日志轮换。
先决条件
本教程假定您有一个Ubuntu 16.04服务器,并且具有非root sudo功能的用户,如使用Ubuntu 16.04的初始服务器设置中所述。
Logrotate也可以在许多其他的Linux发行版上使用,但是默认的配置可能会有很大的不同。 只要您的Logrotate版本与Ubuntu 16.04类似,本教程的其他章节仍然适用。 按照第1步来确定您的Logrotate版本。
以启用sudo的用户身份登录到您的服务器。
确认您的Logrotate版本
如果您使用的是非Ubuntu服务器,请首先确认Logrotate是通过询问其版本信息来安装的:logrotate --versionOutputlogrotate 3.8.7
如果Logrotate没有安装,你会得到一个错误。 请使用您Linux发行版的软件包管理器安装软件。
如果安装了Logrotate,但版本号明显不同,则可能会遇到本教程中讨论的一些配置问题。 通过阅读其man页,参考你的特定版本的Logrotate的文档:man logrotate
接下来我们来看看Ubuntu上Logrotate的默认配置结构。
探索Logrotate配置
Logrotate的配置信息通常可以在Ubuntu的两个地方找到:/etc/logrotate.conf :该文件包含一些默认设置,并为几个不属于任何系统软件包的日志设置/etc/logrotate.conf 。 它还使用include语句从/etc/logrotate.d目录中的任何文件中提取配置。
/etc/logrotate.d/ :这是你安装的任何需要帮助的日志旋转的软件包将放置他们的Logrotate配置。 在标准安装中,您应该已经有了apt , dpkg , rsyslog等基本系统工具的文件。
默认情况下, logrotate.conf将配置每周的日志轮换( weekly ),拥有root用户和系统日志组( su root syslog )的日志文