文章目录
Apache服务日志分割(rotatelogs、cronolog)
日志分割
日志的作用
- 随着网站的访问量增加,默认情况下的Apache的单个日志文件也会越来越大
- 日志文件占用磁盘空间
- 查看相关信息不方便
- 对日志文件进行分割
- Apache自带rotatelogs分割工具实现
- 第三方工具cronolog分割
rotatelogs分割工具
配置网站的日志文件转交给rotatelogs分割处理
配置格式
ErrorLog "| rotatelogs命令的绝对路径 -l 日志文件路径/网站名-error_%Y%m%d.log 86400"
CustomLog "| rotatelogs命令的绝对路径 -l 日志文件路径/网站名-access_%Y%m%d.log 86400" combined
实验
配置httpd服务
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.136.10:80
#Listen 80
ServerName www.kgc.com:80
利用rotatelogs工具对日志文件分割
启动服务,查看生成的日志文件
[root@localhost ~]# setenforce 0
[root@localhost ~]# iptables -F
[root@localhost ~]# systemctl start httpd ## 启动服务
[root@localhost ~]# ls /var/log/httpd/ ## 查看httpd目录下的有哪些文件
access_log error_log ## 有两个日志文件存在
编辑http服务配置文件,进行日志分割的相关配置
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
分别对182和217行进行修改:
ErrorLog "| /usr/sbin/rotatelogs -l logs/www.test.com.error_%Y%m%d.log 86400"
CustomLog "| /usr/sbin/rotatelogs -l logs/www.test.com.access_%Y%m%d.log 86400" combined
重启http服务出现了2个日志文件
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# ls /var/log/httpd/
access_log error_log www.kgc.com.access_20200805.log www.kgc.com.error_20200805.log
cronolog日志分割工具
我们也可以使用第三方工具cronolog工具对日志进行分割
- 源码编译安装cronolog工具
- 配置网站日志文件转交给cronolog分割处理
- 配置格式
ErrorLog "| cronolog命令的绝对路径 日志文件路径/网站名-error_%Y%m%d.log"
CustomLog "| cronolog命令的绝对路径 日志文件路径/网站名-access_%Y%m%d.log" combined
利用cronolog工具对日志文件分割
将源码包(cronolog-1.6.2-14.el7.x86_64)上传到虚拟机
[root@localhost ~]# cd /opt
[root@localhost opt]# rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm
删除之前实验生成的日志文件
[root@localhost opt]# cd /var/log/httpd/
[root@localhost httpd]# rm -rf www*
修改http服务主配置文件
[root@localhost httpd]# vim /etc/httpd/conf/httpd.conf
将刚才的182和217行进行修改:
ErrorLog "| /usr/sbin/cronolog logs/www.test.com.error_%Y%m%d.log"
CustomLog "| /usr/sbin/cronolog logs/www.test.com.access_%Y%m%d.log" combined
修改完成后重启服务,使用ls命令查看日志目录下的日志文件
[root@localhost httpd]# systemctl restart httpd ## 重启服务
[root@localhost httpd]# ls /var/log/httpd/ ## 查看日志文件
access_log error_log www.test.com.access_20200805.log www.test.com.error_20200805.log
## 查看日志文件
access_log error_log www.test.com.access_20200805.log www.test.com.error_20200805.log