linux下apache日志处理:记录搜索引擎抓取
1、 识别搜索引擎:
在“/etc/httpd/conf/httpd.conf”文件“LogFormat”前面添加如下内容,用来判断是蜘蛛抓取还是真实用户访问:
SetEnvIfNoCase User-Agent "(Googlebot|Mediapartners-Google|Baiduspider|MSNBot|sogou spider|Sosospider|YodaoBot|Yahoo|Yahoo)" robot
2、 定义日志格式:
在“httpd.conf”文件“LogFormat”下面添加一行,设置一个新的日志格式:
LogFormat "%{%Y-%m-%d %H:%M:%S}t %>s %V %h %b %r \"%{User-agent}i\" \"%{Referer}i\"" big
3、 记录搜索引擎日志:
如果服务器上面架了多个站点,就在"VirtualHost"中新增下面一行,否则就在httpd.conf中“CustomLog”下面新增下面一行:
CustomLog logs/weiyule.cn-robot big env=robot
上面的big是第二步定义的日志格式,robot是第一步的判断是否为搜索引擎的变量。
4、测试配置文件并重新加载配置文件:
httpd -t
service httpd reload
注意:如果要按日志生成apache日志文件可以如下写
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog "|bin/rotatelogs.exe -l logs/www.111cn.net/access-%Y-%m-%d.log 86400" combined
这样在apache logs下的www.111cn.net目录就会生成按日期生成日志文件了 access-2015-05-21.log 了哦。