一、前言
当我们使用Ubuntu服务器配置一些分析服务时,经常会用到日志去记录一些信息以便追溯分析过程。但是,时间久了之后,日志文件数量和空间会不断膨胀,这个时候我们就需要考虑如何去管理这些日志文件了。本文的主题便是讨论如何使用Logrotate管理日志文件。
二、Logrotate介绍
Logrotate是一个系统实用程序,用于管理日志文件的自动轮换和压缩。如果未对日志文件进行轮换,压缩和定期修剪,则最终可能会占用系统上的所有可用磁盘空间。
在Ubuntu 20.04上,Logrotate是默认安装的。设置为处理所有已安装软件包的日志轮换需求,包括rsyslog
默认系统日志处理器。
通过询问其版本信息来确保安装Logrotate:
mulan@mulan-PowerEdge-R7525:~$ logrotate --version logrotate 3.14.0 Default mail command: /usr/bin/mail Default compress command: /bin/gzip Default uncompress command: /bin/gunzip Default compress extension: .gz Default state file path: /var/lib/logrotate/status ACL support: yes SELinux support: yes
通过阅读其man
页面,查看Logrotate的文档:
man logrotate
接下来我们将看看Logrotate在Ubuntu上的默认配置结构。
2.2 探索Logrotate配置
Logrotate的配置信息一般可以在Ubuntu的两个地方找到:
/etc/logrotate.conf
:此文件包含一些默认设置,并为不属于任何系统软件包的几个日志设置轮换。它还使用include语句从/etc/logrotate.d目录中的任何文件中提取配置。/etc/logrotate.d/
:这是您安装的需要日志轮换帮助的任何软件包将放置其Logrotate配置的位置。在一个标准的安装下,你应该已经在这里所拥有的文件进行系统的基本工具,如apt
,dpkg
,rsyslog
等等。
默认情况下,logrotate.conf
将配置每周日志轮换(weekly
),其中包含root用户和syslog组(su root syslog
)所拥有的日志文件,其中保留了四个日志文件(rotate 4
),并且在轮换当前文件后创建了新的空日志文件(create
) 。
我们来看看包中的Logrotate配置文件/etc/logrotate.d
:
mulan@mulan-PowerEdge-R7525:~$ cat /etc/logrotate.d/apt /var/log/apt/term.log { rotate 12 monthly compress missingok notifempty } /var/log/apt/history.log { rotate 12 monthly compress missingok notifempty }
此文件包含/var/log/apt/
目录中两个不同日志文件的配置块:term.log
和history.log
。他们都有相同的选择。未在这些配置块中设置的任何选项将继承默认值或设置的值/etc/logrotate.conf
。为apt日志设置的选项是:
rotate 12
:保留十二个旧日志文件。monthly
:每月轮换一次。compress
:压缩轮换的文件。默认使用gzip
,导致文件以.gz
。结尾。可以使用该compresscmd
选项更改压缩命令。missingok
:如果缺少日志文件,请不要写入错误消息。notifempty
:如果日志文件为空,请不要轮换日志文件。
还有更多可用的配置选项。您可以通过在命令行上键入man logrotate
以查看Logrotate的手册页来阅读所有这些内容。
接下来,我们将设置一个配置文件来处理虚构服务的日志。
https://cloud.tencent.com/developer/article/1172687
https://www.cnblogs.com/LLj-cnblogs/articles/16375040.html
标签:文件,log,轮换,logrotate,Logrotate,Ubuntu,日志 From: https://www.cnblogs.com/carsonzhu/p/16904219.html