解决apache的access_log过大的问题的方法
解决apache的access_log过大的问题的方法
konds for linux手札
关于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了。