apache的日志切割

当我们每访问一次网站就会产生若干条日志信息,如果日志都存放在一个文件中,时间久了日志文件将会越来越大,不仅占用空间也不方便运维和开发人员对日志的分析;
此时就需要对日志进行切割,比如按天或者按小时产生新的日志文件。

那么如何进行日志的切割呢?
1.首先第一步需要设置日志文件的路径(默认存在的,可忽略该步骤)

#编辑配置文件 vim /usr/local/apache2/etc/httpd.conf
ErrorLog "logs/error_log" #错误日志
CustomLog "logs/access_log" common #访问日志
#指定日志格式
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common

2.设置apache的日志切割

#编辑配置文件 vim /usr/local/apache2/etc/httpd.conf
#将ErrorLog "logs/error_log"注释掉添加:
ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/error_%Y%m%d.log 86400"
#将ErrorLog "logs/access_log"注释掉添加:
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/access_%Y%m%d.log 86400" combined
#|将日志交给apache自带的切割工具rotatelog,-l是校准北京时间,日志的格式为 *_年与日.log 每天生成一个日志文件

3.检查配置文件语法并重启apache

apachectl -t && apachectl restart

4.访问网站,查看logs下的日志文件,发现已经有了切割后的日志文件

作者:ccku
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请多多赐教,非常感谢。
原文地址:https://www.cnblogs.com/ccku/p/13516910.html