httpd之日志切割

apache 日志切割问题

httpd的日志是可以自动切割的。
方法一:cronolog需要先安装

使用 cronolog 为每一天建立一个新的日志
CustomLog "|bin/cronolog logs/access_%Y%m%d.log" combined
也可以按小时 
CustomLog "|bin/cronolog logs/access_%Y%m%d%h.log" combined

方法二:rotatelogs为httpd自带软件

使用 rotatelogs 每一天记录一个日志
CustomLog "|bin/rotatelogs -l logs/access_%Y%m%d.log 86400" combined
每小时 
CustomLog "|bin/rotatelogs -l logs/access_%Y%m%d%H.log 3600" combined


apache rotatelogs语法
rotatelogs [ -l | -t ] logfile [ rotationtime [ offset ] ] | [ filesizeM ]

-l 使用本地时间代替GMT时间作为时间基准。一定要加上-l 否则出现的日志时间和实际时间是相差8小时的。GMT:UT(universal time)格林尼治时间,亦称“世界时”。

-t truncated instead of rotated,日志截断而不是切割;

logfile 
它加上基准名就是日志文件名。如果logfile中包含”%”,则它会被视为用于strftime()的格式字符串;否则它会被自动加上以秒为单位的”.nnnnnnnnnn”后缀。这两种格式都表示新的日志开始使用的时间。

rotationtime
日志文件滚动的以秒为单位的间隔时间。

offset
相对于UTC的时差的分钟数。如果省略,则假定为”0″并使用UTC时间。比如,要指定UTC时差为”-5小时”的地区的当地时间,则此参数应为”-300″。

filesizeM
指定以filesizeM文件大小滚动,而不是按照时间或时差滚动。


HTTP referer

HTTP来源地址(referer,或HTTP referer),是HTTP表头的一个字段,用来表示从哪儿链接到目前的网页,采用的格式是URL。换句话说,借着HTTP来源地址,目前的网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求。

httpd只记录指定URI的日志
http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=981&fromuid=6069

默认情况下log日志格式为:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
其中%h 是记录访问者的IP,如果在web的前端有一层代理,那么这个%h其实就是代理机器的IP,这不是我们想要的。在这种情况下,
%{X-FORWARDED-FOR}i  字段会记录客户端真实的IP。

所以log日志改为:
LogFormat "%h %{X-FORWARDED-FOR}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

来自为知笔记(Wiz)

时间: 2024-11-06 00:55:59

httpd之日志切割的相关文章

Apache配置域名跳转、日志切割、静态缓存、防盗链、访问控制

·/usr/local/apache2/bin/apachectl  -M:查看安装了哪些模块 ·/usr/local/apache/bin/apachectl   -V:查看使用的模式 ·/usr/local/apache2/bin/apachectl  -t:检查语法错误 ·/usr/local/apache2/bin/apachectl  -l:查看安装的库文件 ·/usr/local/apache2/bin/apachectl graceful:重新加载配置 ·/usr/local/ap

访问日志不记录静态文件;访问日志切割;静态图片等元素过期时间

扩展 apache日志记录代理IP以及真实客户端IP  http://www.lishiming.net/thread-960-1-1.html apache只记录指定URI的日志  http://www.lishiming.net/thread-981-1-1.html apache日志记录客户端请求的域名  http://www.lishiming.net/thread-1037-1-1.html apache 日志切割问题  http://www.lishiming.net/thread-

Linux 日志切割工具cronolog

一.前言 二.cronolog 简介 三.cronolog 特点 四.cronolog 安装 五.cronolog 使用 六.cronolog 总结 注,操作系统 CentOS 6.4 x86_64,软件版本 cronolog 1.6.2,软件下载http://cronolog.org/download/index.html. 一.前言 大家都知道apache服务器,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计.本博文主要讲解Web服务器日志切割工具cronolog,下面我们

LAMP搭建9:Apache日志切割

网站的访问日志增长很快,如果保存在一个文件中,不进行切割,那么很快就会撑爆服务器的磁盘,我们需要对其进行切割,并且定期删除无用的日志,以保证磁盘的合理使用. 1.编辑虚拟主机配置文件 [[email protected] important]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 2.去掉访问日志配置行前面的注释符# <VirtualHost *:80> DocumentRoot "/tmp/123" Se

Apache日志切割及不记录指定类型日志

1.自带rotatelogs日志切割 ■ rotatelogs 日志轮询说明 ___________________________________________________________ 语法 rotatelogs [ -l ] logfile [ rotationtime [ offset ]] | [ filesizeM ] 选项 -l    使用本地时间代替GMT时间作为时间基准.注意:在一个改变GMT偏移量(比如夏令时)的环境中 使用-l会导致不可预料的结果. logfile

配置apache访问日志和日志切割

配置apache访问日志和日志切割 1.打开apache主配置文件,命令:vim /usr/local/apache2/conf/httpd.conf,找到log_config_module模块,可以看到两条logformat(日志格式),如下图所示: 2.添加自定义的logformat(日志格式),命名为aming如下图所示: 保存退出! 3.打开虚拟主机配置文件,命令:vim /usr/local/apache2/conf/extra/httpd-vhosts.conf,找到<Virtual

apache配置-域名跳转、日志切割、静态缓存、防盗链

·/usr/local/apache2/bin/apachectl -M:查看安装了哪些模块     ·/usr/local/apache2/bin/apachectl -t:检查语法错误 ·/usr/local/apache2/bin/apachectl -l:查看安装的库文件 ·/usr/local/apache2/bin/apachectl graceful:重新加载配置·/usr/local/apache2/htcocs         主页存放目录 ·/usr/local/apache

apache 日志切割

由于网站访问日志过于大,因此采用日志切割功能来对apache日志进行切割. 方法一: 使用 cronolog 为每一天建立一个新的日志CustomLog "|bin/cronolog logs/access_%Y%m%d.log" combined 也可以按小时 CustomLog "|bin/cronolog logs/access_%Y%m%d%h.log" combined 方法二:使用 rotatelogs 每一天记录一个日志CustomLog "

访问日志不记录静态文件、访问日志切割、静态元素过期时间

访问日志不记录静态文件 当访问很多图片,文档等静态资源的时候,会加大你日志的容量,日志容量占用你磁盘空间后,会出现服务器宕机等很严重的问题,这时需要将日志进行配置优化.当访问网页时不记录这些图片.css.js等信息日志. 1.[[email protected] 111.com]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <VirtualHost *:80> DocumentRoot "/data/wwwroot/11