前言
随着网站的访问量越来越大,默认情况下Apache服务器产生的单个日志文件也会越来越大,如果不对日志进行分割,那么日志文件占用磁盘空间很大的话势必会将整个日志文件删除,这样会丢失很多对网站比较宝贵的信息,而这些日志可以用来进行访问分析、网络安全监察、网络运行状况监控等。另外,服务器遇到故障时,运维人员要打开日志文件进行分析,打开的过程会消耗很长时间,也势必会增加处理故障的时间。因此管理好这些海量的日志对网站的意义重大,我们会将Apache的日志按每天的日期进行自动分割。下面 介绍的两种方法均可实现。
一、Apache自带rotatelogs软件
1、配置的格式为
ErrorLog "| rotatelogs命令的绝对工具 -| 日志文件路径/网站名-error_%Y%m%d.log 86400"
CustomLog "| rotatelogs命令路径 -| 日志文件路径/网站名-access_%Y%m%d.log 86400" combined
-l:表示使用本地时间
/error_log:日志名称
%Y-%m-%d:年-月-日
86400:表示日志分隔的间隔是1天,单位是秒
2、设定日志时间
可以设定时间为次日,再次访问,查看是否产生新的日志
date -s 20210619 ##设置系统时间 年月日
date -s 18:30:50 ##设置时间 时分秒
3、配置
yum -y install httpd
vim /etc/httpd/conf/httpd.conf
43 Listen 192.168.35.40:80
98 ServerName www.zyt.com:80
184 ErrorLog "| /usr/sbin/rotatelogs -l /var/log/httpd/error_log_%Y%m%d.log 86400
212 CustomLog "|/usr/sbin/rotatelogs -l /var/log/httpd/access_%Y%m%d.log 86400" combined
systemctl stop httpd
systemctl start httpd
cd /var/log/httpd/
ls
access_log error_log error_log_20210621.log httpd.conf
二、使用第三方工具cronolog
1、配置格式
ErrorLog "| cronolog命令的绝对工具 -| 日志文件路径/网站名-error_%Y%m%d.log "
CustomLog "| cronolog命令路径 -| 日志文件路径/网站名-access_%Y%m%d.log " combined
2、安装cronolog
wget https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz
tar xvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make && make install
三、日志消息的级别
编号越小越紧急
0 EMERG:紧急,又称疼痛级别;会导致主机系统不可用的情况
1 ALERT:警告;必须马上采取措施解决问题
2 CRIT:临界值,严重;比较严重的情况
3 ERR:错误;运行出现错误
4 WARNING:提醒;提醒但不影响程序运行
5 NOTICE:注意;不会影响系统单值得注意
6 INFO:信息;一般信息
7 DEBUG:调试;程序或系统调试信息等
总结
本文讲解了日志分割的重要性,以及两种日志分割的方法,并加入实例