今天对于Apache的日志进行切割处理,记录一下:
首先找到Apache的配置文件(httpd.conf)
vim /usr/local/apache/conf/httpd.conf
找到里面的CustomLog和ErrorLog这两处的相关参数,然后可以看到:
CustomLog "/data/httpd/logs/access_log" common
ErrorLog "/data/httpd/logs/error_log"
上面是没进行切割之前的样子,随后修改该参数达到日志切割的效果:
ErrorLog "| /usr/local/apache/bin/rotatelogs -l /data/httpd/logs/error_log-%Y%m%d 86400"
CustomLog "| /usr/local/apache/bin/rotatelogs -l /data/httpd/logs/access_log-%Y%m%d 86400 " common
这里简单说一下上面修改后的意思;
-l :是让其参照的是中国时间,如果不用这个选项默认是参照美国时间,两边相差8个小时
后面86400是指分隔时间,默认是秒,然后一天是86400秒,所以。。
然后rotatelogs是Apache的/bin下的命令,可以去查看一下有无
然后继续使用Apache的相关命令进行刷新配置文件(这里nginx就没有那么友好,后续会讲到nginx的日志切割):
/usr/local/apache/bin/apachectl -t
/usr/local/apache/bin/apachectl graceful
然后就可以看到日志存储目录:
ls /data/httpd/logs/
access_log-20190524 a.log error_log-20190524
接下来就是写脚本然后添加到定时任务上进行定时清理:
这里我就不贴我自己的出来了,我也是参考别人的资料,所以这里贴一下脚本原地址以表示答谢:https://www.cnblogs.com/songqingbo/p/5168733.html
接下来是nginx的日志切割