我们知道linux系统日志文件位于/var/log目录下,在/var/log目录下,我们会发现有相当一部分日志文件末尾包含一串数字(E.g:ecure-20231114),这表明这部分日志文件经过了日志转储,以避免日志文件过大,导致可读性较差。
[root@rhel77 log]# pwd
/var/log
[root@rhel77 log]# ls -l secure*
-rw------- 1 root root 1792 Nov 14 13:49 secure
-rw------- 1 root root 78478 Nov 8 14:50 secure-20231108
-rw------- 1 root root 3011 Nov 10 21:37 secure-20231110
-rw------- 1 root root 5421 Nov 13 14:31 secure-20231113
-rw------- 1 root root 3886 Nov 14 10:02 secure-20231114
[root@rhel77 log]#
说起上述日志转储,很多人会选择使用crontab定时执行shell脚本进行日志转储,但是在linux上内置了日志转储工具,它就是logrotate,且其在linux上默认是安装了的。
[root@rhel77 ~]# rpm -qa | grep logrotate
logrotate-3.8.6-17.el7.x86_64
[root@rhel77 ~]#
1.logrotate介绍
logrotate是linux自带工具,通过简单配置,用来对日志进行转储和定时清除,从而避免单个日志文件过大,以及众多的日志文件占用存储空间。
2.logrotate配置讲解
logrotate是基于crond服