最近网站出了点问题就开启了apache访问日志了,但我发现开启的日志生成越来越大,到后面打开都非常的困难的,那么我们可不可以把apache日志按天数生成或按大小生成呢?下面我们来看看.
先我们来看我日志不分日期大小的情况配置方法,代码如下:
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
CustomLog "E:/1408.log" combined
这样生成的访问日志超大了并且后面100多GB了,无法打开查看了,这样肯定不是办法于是搜索了日志按大小存放的方法,代码如下:
- # 限制错误日志文件为 1M
- ErrorLog “|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 1M”
- # 每天生成一个错误日志文件
- #ErrorLog “|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 86400″
- # 限制访问日志文件为 1M
- CustomLog “|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 1M” common
- # 每天生成一个访问日志文件
- #CustomLog “|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 86400″ common//开源代码Vevb.com
这个就简单了啊,直接放进去就可以了.
上面介绍的是windows用户了,linux用cronolog分割apache日志
cronolog工具可以在linux下运行也可以在windows主机上面运行的,linux的安装方式很简单的,make install一下就可以搞定了,安装好了设置方式一样的,下面说说在windows主机上面的设置方式.
1.吧cronolog.exe工具拷贝到apachebin目录下
2.修改httpd.conf配置文件,找到customlog这一行
3.修改成如下格式:CustomLog "|/usr/www.111cn.net/sbin/cronolog /usr/local/apache/logs/%Y_%m_%d.access.log" combined
这里是按照每天来生成日志的,其中,/home/apache/logs 表示你的log存放的路径;/usr/local/sbin/cronolog为cronolog所在的路径,可以通过 which cronolog 的命令来查看;%Y_%m_%d表示按照年月日来分割,这样一个月就会生成一个日志文件,如果要按照每天生成一个日志文件,好像是%Y%m%d.
然后重启一下apache,就会发现apache日志开始按照日期生成,而原来的apache日志文件就不会再记录新的访问数据了.
新闻热点
疑难解答