解决apache的access_log过大的问题的方法

解决apache的access_log过大的问题的方法

备份-1- -| 回首页 | 2004年索引 | - -积攒点滴3

关于apache的access_log 过大的问题- -

 

apache的log过大的问题.很郁闷.

Q:我安装的是httpd-2.0.47, 每隔一星期日 xxxx.com-access_log 就会变成0 Kb 反而 xxxx.com-access_log.1 却在增大. 好像更该记录档时出现了问题, 怎样处理这种情况呢?

我设定过/etc/logrotate.conf 把 weekly 改成 monthly 每隔一个月也会出现这种情况,只是把时间间隔延长而已.

A:没有设置号,设置好了应该是声称.1 .2 .3 ...

Q:有设置号
xxxx.com-access_log
xxxx.com-access_log .1
xxxx.com-access_log .2
xxxx.com-access_log .3
xxxx.com-access_log .4

/etc/logrotate.conf 中
weekly
rotate 4
create

A:你是系统自带的apache还是手动安装的?手动安装的apache的如果使用syslog来进行logrotate是有些问题。
可以在apache配置文件中使用apache带的logrorate带进行log的rotate,示例如下:
CustomLog "|/usr/local/apache/bin/rotatelogs /logs/apachelog/access_log.%Y%m%d 86400" common

Q:谢谢!

我的apache就是手动安装的.

请问CustomLog "|/usr/local/apache/bin/rotatelogs /logs/apachelog/access_log.%Y%m%d 86400" common

会不会每个域名都有它自己的log呢?

我想每个域名都有它自己的access_log该怎样做呢?

A:在虚拟主机里设置log就可以了

Q:不知道能不能用于error_log呢?

A:当然可以了。照猫画虎

Q:我这样设定,对吗?
<VirtualHost 192.168.1.250>
DocumentRoot /home/test/public_html
ServerName test.com
ErrorLog logs/other-error_log
CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/test.com_log" common
</VirtualHost>

怎么在/usr/local/apache/logs 里不会生成test.com_log

A:用cronolog做日志论许。
VirtualHost 192.168.1.250>
DocumentRoot /home/test/public_html
ServerName test.com
ErrorLog logs/other-error_log
CustomLog "|/usr/sbin/cronolog /logs/test.com/access.%Y%m%d" combined
env=!gif-image
ErrorLog "|/usr/sbin/cronolog /logs/test.com/errors.%Y%m%d"

</VirtualHost>

前提,找个cronolog安装,或者找个同版本地系统copy过来这个文件就ok了。