Linux日志管理logrotate日志轮转

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 上篇文章学习了系统日志管理,对于日志来讲他是占内存的,当有大量的日志产生的时候,会有一天占满我们的内存,所以出现了日志轮转,轮转日志会删除时间久远的日志,来节省空间,这篇文章就是带大家了解学习日志轮转,通过本篇文章了解日志轮转的相关配置文件,学习怎么配置日志轮转,根据我们的需求进行配置,下面来进行学习吧。

前言


上篇文章学习了系统日志管理,对于日志来讲他是占内存的,当有大量的日志产生的时候,会有一天占满我们的内存,所以出现了日志轮转,轮转日志会删除时间久远的日志,来节省空间,这篇文章就是带大家了解学习日志轮转,通过本篇文章了解日志轮转的相关配置文件,学习怎么配置日志轮转,根据我们的需求进行配置,下面来进行学习吧。


日志轮转简介

日志   记录了程序运行时各种信息;

通过日志可以分析用户行为,记录运行轨迹,查找程序问题;

可磁盘的空间是有限的;

日志轮转就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发生的事;

为了节省空间和整理方便,日志文件经常需要按时间或大小等未读分成多分,删除时间久远的日志文件。


工作原理

  日志轮转是按照配置来激进行轮转的。


配置文件种类

主配置文件:/etc/logrotate.conf(决定每个日志文件如何轮转)。

子配置文件夹:/etc/logrotate.d/*(.d是子目录,自定义,后期出问题好管理,程序运行依靠主文件)。


观察主文件和子文件

[root@localhost ~]# ls /etc/logrotate.conf  /etc/logrotate.d

/etc/logrotate.conf

/etc/logrotate.d:

bootlog  firewalld    libvirtd       ppp     syslog

chrony   httpd        libvirtd.qemu  psacct  wpa_supplicant

cups     iscsiuiolog  numad          samba   yum

每安装一个程序都可能生成一个配置文件。


主配置文件介绍

主配置文件路径为:/etc/logrotate.conf


[root@localhost ~]# vim /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
        minsize 1M
    rotate 1
}
/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}


  首先我们忽略#注释部分,主配置文件分为两个部分,一部分是全局设置,一部分是对某日志设置轮转,下面来详细介绍这些配置。

====================全局设置========================

weekly                                 //轮转的周期,一周轮转

rotate 4                               //保留4份

create                                  //轮转后创建新文件

dateext                               //使用日期作为后缀

#compress                          //是否压缩

include   /etc/logrotate.d                      //包含改目录下的子配置文件

=================================================

var/log/wtmp{                 //对某日志文件设置轮转的方法

monthly                               //一月轮转一次

minsize 1M                      //最小达到1M才轮转,monthly and minsize

create 0664 root utmp       //轮转后创建新文件,并设置权限

rotate 1                                  //保留一份

}

===================================================

/var/log/btmp{

missingok                       //丢失不提示

monthly                         //每月轮转一次

create 0600 root utmp              //轮转后创建新文件,并设置权限

rotate 1                               //保留一份

}


yum日志轮转示例

轮转的目标文件/var/log/yum.log


配置轮转规则

vim /etc/logrotate.d/yum


/var/log/yum.log{
missingok                     //丢失不执行
#notifempty                 //空文件不论转
#size 30k                  //达到30k轮转,daily or size
#yearly                       //或者一年一轮转
daily                              //缩小周期到1天
rotate 3                           //轮转保留3次
create 0600 root root     
}

rotate 3演示

设置每天轮转一次并且会创建新文件,所以每天都会有一个文件生成,因为只保留三份,所以只会保留最近三个,如图红框内是保留部分,灰色字体部分是会被删除部分,这就是轮转节省空间的实质,不会保留所有日志,会指定保存分数以及轮转周期,节省日志空间。


09512e4c37c541ceb24538fe9d116fae.png


总结

通过本篇文章带大家了解学习日志轮转,了解日志轮转的优点以及对日志轮转的配置。



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
22天前
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
37 3
|
3月前
|
数据采集 监控 数据安全/隐私保护
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
在Selenium Web数据采集时,日志管理至关重要。通过调整`–log-level`参数可优化日志详细度,如设置为`INFO`记录一般操作信息。结合代理IP、Cookie及user-agent配置,不仅能提高采集成功率,还能规避反爬机制。合理选择日志级别有助于调试与性能平衡,在复杂的数据采集任务中保持程序稳定与可控。
113 1
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
|
3月前
|
Ubuntu Linux Apache
在Linux中,如何使用logrotate命令管理日志文件?
在Linux中,如何使用logrotate命令管理日志文件?
|
3月前
|
存储 监控 安全
|
3月前
|
存储 Ubuntu Apache
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
46 6
|
3月前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
32 4
|
3月前
|
监控 关系型数据库 Linux
Linux日志管理工具:Logrotate(二)
Linux日志管理工具:Logrotate(二)
163 2
|
3月前
|
存储 消息中间件 监控
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统ELK、日志收集分析
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统、日志收集分析。日志级别从小到大的关系(优先级从低到高): ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF 低级别的会输出高级别的信息,高级别的不会输出低级别的信息
|
3月前
|
存储 数据可视化 Linux
在Linux中,如何使用ELK进行日志管理和分析?
在Linux中,如何使用ELK进行日志管理和分析?
|
3月前
|
存储 监控 数据可视化
在Linux中,有哪些日志管理和分析工具?
在Linux中,有哪些日志管理和分析工具?