一、日志简介
1、日志进程:系统专职日志程序(rsyslogd)、程序进程。
[root@localhost ~]# ps aux |grep rsyslogd
root 717 0.0 0.0 219752 3880 ? Ssl 09:05 0:00 /usr/sbin/rsyslogd -n
2、认识日志文件
#tail -10 /var/log/messages //系统主日志文件
二、日志轮转(logrotate)
1、目的:
日志往往只是记录最近一段时间内发生的事情,为了节省空间和整理方便,日志文件经常需要按!时间或!大小等维度分成多份,删除时间久远的日志文件。
2、配置文件:
1)主配置文件:/etc/logrotate.conf,决定每个日志文件如何轮转。
第一部分:全局配置
#see "man logrotate" for details
#rotate log files weekly
weekly //按周轮转
#keep 4 weeks worth of backlogs
rotate 4 //保留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 //读/etc/logrotate.d这个子配置
第二部分:局部配置(优先级大于全局配置)
/var/log/wtmp {
monthly //按月轮转
create 0664 root utmp //创建普通文件,权限644,用户:root,用户组:utmp
minsize 1M // 最小1M时轮转,到一个月没有到1M不会轮转。
#maxsize 3M //如果没有到一个月,但是已经超过3M了,就会轮转;
//如果不到3M,但是一个月了,也会轮转
rotate 1 //保留一次轮转
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
/var/log/btmp {
missingok //丢失不提示
monthly //每月轮转一次
create 0600 root utmp //轮转后创建新文件,并设置权限
rotate 1 //保留一份
}
2)局部配置文件:一般修改配置都会在局部文件里。
[root@localhost ~]# ls /etc/logrotate.d
bootlog cups libvirtd numad psacct syslog yum
chrony iscsiuiolog libvirtd.qemu ppp samba wpa_supplicant
[root@localhost ~]#
3)常用的轮转规则:
missinggok //丢失不通知
notifempty //空文件不轮转
maxsize 30k //达到30k轮转,daily or size
yearly //一年一次
daily //一天一次
rotate //轮转保留三次
create 0777 root root //设置权限以及属主属组
3、yum日志轮转示例:
1)轮转的目标文件:/var/log/yum.log要进行轮转
2)改写子配置文件:/etc/logrotate.d/yum
/var/log/yum.log{
missingok
daily
rotate 3
create 0777 root root
}
3)测试:
(1)更改日期,手动轮转
date 04011000 //更改日期
/usr/sbin/logrotate /etc/logrotate.conf //手动轮转
ls /var/log/yum*
[root@localhost log]# vim /var/log/yum.log
[root@localhost log]# vim /etc/logrotate.d/yum
[root@localhost log]# date 03311550
2021年 03月 31日 星期三 15:50:00 CST
[root@localhost log]# /usr/sbin/logrotate /etc/logrotate.conf
[root@localhost log]# ls /var/log/yum*
/var/log/yum.log /var/log/yum.log-20210331
[root@localhost log]# date 04011552
2021年 04月 01日 星期四 15:52:00 CST
[root@localhost log]# /usr/sbin/logrotate /etc/logrotate.conf
[root@localhost log]# ls /var/log/yum*
/var/log/yum.log /var/log/yum.log-20210331 /var/log/yum.log-20210401
[root@localhost log]#