配置 centos apache 的日志文件为每天保存,在home分区

/usr/local/apache/bin/rotatelogs 这个执行程序会根据安装方式不同的位置也不同,yum安装的话,路径为:/usr/sbin/rotatelogs

改为:

ErrorLog "|/usr/sbin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480"
CustomLog "|/usr/sbin/rotatelogs /home/logs/www/%Y_%m_%d_access_log 86400 480" common

这样才可以的。

 

centos下 Apache、php、mysql默认安装路径

apache:

如果采用RPM包安装,安装路径应在 /etc/httpd目录下

apache配置文件:/etc/httpd/conf/httpd.conf

Apache模块路径:/usr/sbin/apachectl

web目录:/var/www/html

如果采用源代码安装,一般默认安装在/usr/local/apache2目录下

php:

如果采用RPM包安装,安装路径应在 /etc/目录下

php的配置文件:/etc/php.ini

如果采用源代码安装,一般默认安装在/usr/local/lib目录下

php配置文件: /usr/local/lib/php.ini

或/usr/local/php/etc/php.ini

mysql:

如果采用RPM包安装,安装路径应在/usr/share/mysql目录下

mysqldump文件位置:/usr/bin/mysqldump

mysqli配置文件:

/etc/my.cnf或/usr/share/mysql/my.cnf

mysql数据目录在/var/lib/mysql目录下

如果采用源代码安装,一般默认安装在/usr/local/mysql目录下

 

Apache按天截断日志工具-rotatelogs

 

Linux系统配置方法
在apache的配置文件httpd.conf中找到
ErrorLog logs/error_log
CustomLog logs/access_log common

将其改为
ErrorLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480"
CustomLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_access_log 86400 480" common

Windows系统下配置方法:
在apache的配置文件httpd.conf中找到
ErrorLog logs/error_log
CustomLog logs/access_log common

将其改为
ErrorLog "|c:/apache/bin/rotatelogs.exe  c:/apache/logs/error_%Y_%m_%d.log 86400 480"
CustomLog "|c:/apache/bin/rotatelogs.exe c:/apache/logs/access_%Y_%m_%d.log 86400 480" common
其中c:/apache/是你安装apache的路径


附rotatelogs说明

rotatelogs logfile [ rotationtime [ offset ]] | [ filesizeM ]

选项
logfile
它加上基准名就是日志文件名。如果logfile中包含’%',则它会被视为用于的strftime(3)的格式字串;否则,它会被自动加上以秒为单位的.nnnnnnnnnn后缀。这两种格式都表示新的日志开始使用的时间。
rotationtime
日志文件回卷的以秒为单位的间隔时间
offset
相对于UTC的时差的分钟数。如果省略,则假定为0,并使用UTC时间。比如,要指定UTC时差为-5小时的地区的当地时间,则此参数应为-300。
filesizeM
指定回卷时以兆字节为单位的后缀字母M的文件大小,而不是指定回卷时间或时差。

下列日志文件格式字串可以为所有的strftime(3)实现所支持,见各种扩展库对应的strftime(3)的手册。
%A 星期名全称(本地的) 
%a 3个字符的星期名(本地的) 
%B 月份名的全称(本地的) 
%b 3个字符的月份名(本地的) 
%c 日期和时间(本地的) 
%d 2位数的一个月中的日期数 
%H 2位数的小时数(24小时制) 
%I 2位数的小时数(12小时制) 
%j 3位数的一年中的日期数 
%M 2位数的分钟数 
%m 2位数的月份数 
%p am/pm 12小时制的上下午(本地的) 
%S 2位数的秒数 
%U 2位数的一年中的星期数(星期天为一周的第一天) 
%W 2位数的一年中的星期数(星期一为一周的第一天) 
%w 1位数的星期几(星期天为一周的第一天) 
%X 时间 (本地的) 
%x 日期 (本地的) 
%Y 4位数的年份

 

例子:

(一)

在 Windows 下的设置

第一步:删除 Apache2/logs/目录下的 error.log、access.log文件

第二步:打开 Apache 的 httpd.conf配置文件并找到下面两条配置

ErrorLog logs/error.log
CustomLog logs/access.log common

直接注释掉,换成下面的配置文件。


# 限制错误日志文件为 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

(二)

Apache下的access.log和error.log文件处理方法

这几天有会员和我说到网站访问速度越来越慢。我查了一下,看到Apache2下面有两个日志文件非常大了,加起来有800多M了。
分别是access.log和error.log。

于是在网上找找了给access.log和error.log减肥的方法,这个方法可让这两个文件按每天日期生成。这样你可以选择
把前面的旧文件删除了。

在Apache下的httpd.conf配置文件下找到下面两句:

ErrorLog logs/error.log

CustomLog logs/access.log common

然后把这两句分别改为如下:

CustomLog “|D:/apache2/bin/rotatelogs.exe D:/apache2/logs/access_%Y_%m_%d.log 86400 480″ common 

ErrorLog “|D:/apache2/bin/rotatelogs.exe D:/apache2/logs/error_%Y_%m_%d.log 86400 480″ 

这两个日志文件每天都会起一个新文件,就不至于单个文件太大,打不开,而无法看到日志信息了. 
还可以把前面的日志文件删除。

 

posted @ 2013-03-25 17:41  awinlei  阅读(3990)  评论(0编辑  收藏  举报