淘主机论坛

 找回密码
 成为淘友

QQ登录

只需一步,快速开始

KT服务器促销中 100M带宽 10T流量 超值传送门:会员注册及发帖规则 发帖看过来
查看: 4999|回复: 0

[Linux应用] 限制Linux Apache日志文件大小的方法

[复制链接]
发表于 2009-7-29 19:20:41 | 显示全部楼层 |阅读模式
access.log,这个文件在WEB 服务器运行一段时间之后会达到几十兆甚至上百兆,访问量达的有可能会达到上G。
如果Apache运行有错误,error.log也会增大到几十兆甚至更高,我们知道系统读写一个大的文本文件是非常耗内存的,因此限定日志文件大小十分必要。

通常我们是在{$apache}/conf/httpd.conf中设置Apache的参数,然而我们并没有发现可以设置日志文件大小的配置指令,通过参考

http://httpd.apache.org/docs/2.0/programs/rotatelogs.html

可以用apache 自己的程序 rotatelogs.exe (位于 {$apache}/bin/目录下),来限制日志文件的大小。

Usage: rotatelogs [-l] <logfile> <rotation time in seconds> [offset minutes from UTC] or <rotation size in megabytes>

Add this:

TransferLog "|rotatelogs /some/where 86400"  

or

TransferLog "|rotatelogs /some/where 5M"

to httpd.conf. The generated name will be /some/where.nnnn where nnnn is the system time at which the log nominally starts (N.B. if using a rotation time, the time will always be a multiple of the rotation time, so you can synchronizecron scripts with it). At the end of each rotation time or when the file size is reached a new log is started.

在 Windows 下的设置例子如下:

# 限制错误日志文件为 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
您需要登录后才可以回帖 登录 | 成为淘友

本版积分规则

小黑屋|手机版|Archiver|淘主机

GMT+8, 2024-12-23 17:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表