当前位置首页 > CentOS知识

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

阅读次数:277 次  来源:admin  发布时间:

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

改为:

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" commo

这样才可以的。

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目录下

hp:

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

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

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

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

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

mysql:

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

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

mysqli配置文件:

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

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

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

Apache按天截断日志工具-rotatelog

Linux系统配置方法

在apache的配置文件httpd.conf中找到

ErrorLog logs/error_log

CustomLog logs/access_log commo

将其改为

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" commo

Windows系统下配置方法:

在apache的配置文件httpd.conf中找到

ErrorLog logs/error_log

CustomLog logs/access_log commo

将其改为

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" commo

其中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 commo

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

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

# 每天生成一个访问日志文件

#CustomLog “|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 86400″ commo

(二)

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 commo

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

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

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

这两个日志文件每天都会起一个新文件,就不至于单个文件太大,打不开,而无法看到日志信息了.

还可以把前面的日志文件删除。

上一篇:linux下chrome和chromedriver的安装
下一篇:ApacheSpark技术实战之9--日志级别修改