1.日志进程
a.什么是日志,为什么要管理日志?
程序产生的文字类和数字类信息。
为了统计信息,为了排查错误。
b.日志从哪里来?哪些程序产生了日志?
Linux系统中rsyslog程序。
未来安装的大型程序、httpd、mysql等。
c.rsyslog是一个程序,是一个进程,有配置文件。
安装:yum install -y rsyslog
启动:systemctl start rsyslog
查询:systemctl status rsyslog
查询:ps aux | grep rsyslog
配置文件:/etc/rsyslog.conf
d.rsyslog程序,维护配置文件
规则:设备+级别+文件
设备:同种应用程序,设计程序是已经制定
级别:记录信息的类型
文件:存储信息的位置
2.日志轮转logrotate
2.1简介
日志 记录了程序运行时各种信息。
通过日志可以分析用户行为,记录运行轨迹,查找程序问题。
可惜磁盘的空间是有限的
日志轮转就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发生的事。
为了节省空间和整理方便,日志文件经常需要按!时间或!大小等维度分成多份,删除时间久远的日志文件。
2.2工作原理
按照配置文件进行轮转
2.2.1配置文件种类
主配置文件
主配置文件:/etc/logrotate.conf 决定每个日志文件如何轮转
子配置文件
子配置文件夹:/etc/logrotate.d/* 自定义配置 ,便于管理
2.2.2观察主文件和子文件
利用命令:ls /etc/logrotate.conf /etc/logrotate.d/
2.3主配置文件介绍
利用命令:vim /etc/logrotate.conf 查看文件
全局设置:
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 //保留一份
}
2.4yum日志轮转实例
2.4.1轮转的目标文件
/var/log/yum.log
2.4.2配置轮转规则
利用命令:vim /etc/logrotate.d/yum 查看文件
/var/log/yum.log{
missingok //丢失不执行
# notifempty //空文件不轮转
# maxsize 30k //达到30k轮转,daily or size
# yearly //或者一年一轮转
daily //缩小周期到1天
rotate 3 //轮转保留3次
create 0777 root root
}
系统默认的设置,如图:
2.4.3测试
错误示范
利用命令: /usr/sbin/logrotate /etc/logrotate.conf //手动轮转
利用命令: ls /var/log/yum*
文件只有一个 /var/log/yum.log 。因为日期没变
正确示范
修改时间,手动触发轮转
利用命令:date 04011000 date 月日时分 把时间向未来推移
利用命令:/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
利用命令:ls /var/log/yum* 日志文件已经出现多个
关于时间
命令: grep 'yum' /var/lib/logrotate/logrotate.status //记录所有日志文件最近轮转的时间
"/var/log/yum.log" 2023-1-6-17:0:0 //如果没有轮转过,第一次只有记录
326

被折叠的 条评论
为什么被折叠?



