日志分割

随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大
日志文件占用磁盘空间很大
查看相关信息不方便.
对日志文件进行分割
Apache自带rotatelogs分割工具实现
第三方工具cronolog分割

rotatelogs分割工具

配置网站的日志文件转交给rotatelogs分割处理
[root@www ~ ]# vim /etc/httpd/conf/httpd.conf
ErrorLog "/usr/local/bin/rotatelogs -|
/var/log/httpd/error %Y%m%d.log 86400"
CustomLog "|/usr/local/bin/rotatelogs -|
/var/log/httpd/access
%Y%m%d.log 86400" combined
[root@www ~]#systemctl restart httpd
[root@www httpd]# II
总用量80
-rW-r--r-- 1 root root 1814 7月7 17:54 access 201 80707.log
-rW-r--r-- 1 root root 584 7月7 17:55 error 201 80707.l0g配置格式为
ErrorLog "| rotatelogs命令的绝对路径-|日志文件路径/网站名-
error%Y%m%d.log 86400"
CustomLog "| rotatelogs命令路径-|日志文件路径/网站名-
access\
%Y%m%d.log 86400" combined

源码编译安装cronolog工具

配置网站日志文件转交给cronolog分割处理
配置格式为:
ErrorLog "| cronolog命令的绝对路径 日志文件路径/网站名 -
error_ %Y%m%d.log"
CustomLog "| cronolog命令的绝对路径 日志文件路径/网站名
%Y %m%d.log" combined

日志分割实验

Apache自带的日志分隔工具rotatelogs

一、安装Apache服务

[root@localhost ~]# yum install httpd -y //安装httpd服务
[root@localhost ~]# cd /usr/sbin //切换到/usr/sbin目录下
[root@localhost sbin]# ls rotat* //日志分析工具位置
rotatelogs
[root@localhost sbin]# vim /etc/httpd/conf/httpd.conf //进入修改Apache配置文件
Listen 192.168.131.129:80 ##修改ipv4监听地址为本机地址
#Listen 80 //将ipv6端口注释
ServerName www.kgc.com:80 //修改域名
[root@localhost named]# systemctl stop firewalld.service //关闭防火墙
[root@localhost named]# setenforce 0 //关闭增强安全功能
[root@localhost html]# systemctl start httpd.service //启动网络服务
[root@localhost sbin]# ls /var/log/httpd/ //从启动服务起,就已经有了日志文件
accesslog errorlog

二、配置http主配置文件

[root@localhost sbin]# vim /etc/httpd/conf/httpd.conf //进入修改Apache配置文件
#ErrorLog "logs/errorlog"
ErrorLog "| /usr/sbin/rotatelogs -l logs/www.kgc.com.error%Y%m%dlog 86400"
//此处添加工具绝对路径,生成日志的时间
CustomLog "| /usr/sbin/rotatelogs -l logs/www.kgc.com.access_%Y%m%dlog 86400" combined
//此处添加工具绝对路径,生成日志的时间

三、重启服务,查看日志分割情况

[root@localhost conf]# systemctl stop httpd.service //关闭http服务
[root@localhost conf]# systemctl start httpd //启动http服务
[root@localhost conf]# cd /var/log/httpd/ //切换到日志目录下查看
[root@localhost httpd]# ls
access_log error_log www.kgc.com.error_20191026log //今日的日志文件
[root@localhost httpd]# date
2019年 10月 26日 星期六 10:26:24 CST
[root@localhost httpd]# date -s 10/26/19 //修改时间到第二天
2019年 10月 27日 星期日 00:00:00 CST
[root@localhost httpd]# systemctl stop httpd //重启服务
[root@localhost httpd]# systemctl start httpd
[root@localhost httpd]# ls //查看日志分割的情况
access_log www.kgc.com.error_20191026log
error_log www.kgc.com.error_20191027log

使用第三方工具cronolog

1、安装http服务并远程挂载第三方工具

[root@localhost ~]# mount.cifs //192.168.10.88/LAMP-C7 /mnt
//远程挂载软件包到本地/mnt目录
[root@localhost ~]# cd /mnt/ //切换到/mnt目录下
[root@localhost mnt]# ls
apr-1.6.2.tar.gz cronolog-1.6.2-14.el7.x86_64.rpm LAMP-php5.6.txt
apr-util-1.6.0.tar.gz Discuz_X2.5_SC_UTF8.zip mysql-5.6.26.tar.gz
awstats-7.6.tar.gz httpd-2.4.29.tar.bz2 php-5.6.11.tar.bz2
[root@localhost mnt]# rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm //安装工具

2、查看工具并修改http配置文件

[root@localhost mnt]# cd /usr/sbin
[root@localhost sbin]# ls cronolog*
cronolog
[root@localhost sbin]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.13.128:80 //修改监听的地址为本地地址
#Listen 80 //注释ipv6监听端口
ServerName www.kgc.com:80 //修改域名
ErrorLog "| /usr/sbin/cronolog logs/www.kgc.com.error%Y%m%d.log"
CustomLog "| /usr/sbin/cronolog logs/www.kgc.com.access
%Y%m%d.log" combined
//修改日志文件

3、重启服务并查看日志文件

[root@localhost sbin]# systemctl restart httpd ##重启http服务
[root@localhost sbin]# ls /var/log/httpd ##查看日志文件
www.kgc.com.error_20191026.log