过滤访问日志里的无效ip和robot

定期更新ip的脚本:

#!/bin/sh
#定时更新公司IP, 以用来过滤
#author: Felix Zhang
#date: 2012-12-29

filedir=/opt/logdata/companyip

adate=$(date -d "today" +"%Y%m%d")
filename="${filedir}/ip.${adate}"
ip=`/usr/bin/host yourcompany.3322.org|awk '{print $4}'`
if [ '' != "`grep $ip ${filename}`" ]; then
    exit 0
fi

echo "$ip" >> ${filename}


#Set how long you want to save
save_days=30

#delete 30 days ago nginx log files
find ${filedir} -mtime +${save_days} -exec rm -rf {} \; 

分析日志的脚本:


#!/bin/sh
ipdir=/opt/logdata/companyip
adate=$(date -d "today" +"%Y%m%d")
ipfile="${ipdir}/ip.${adate}"
ipreg="127.0.0.1"
if [ -e ${ipfile} ]; then
        ipreg=`cat ${ipfile} |sed ':a N;s/\n/|/;ta'`
        echo "1"
fi
if [ "${ipreg}" = ""  ]; then
   ipreg="127.0.0.1"
   echo "2"
fi
echo ${ipreg}
#cat ip.test |grep -E -v  '127.0.0.1|126.23.23.44'
fileName=$1;
echo '分析文件'$fileName

cat $fileName | egrep  -v ${ipreg} |awk '{print $7}'

这样分析日志时就可以过滤掉自己公司的IP了. 当然根据机器人的特征也可以过滤机器人, 此处不在多说了, 此处仅给出几个机器人

cat ${logfile} |grep -E -v ${ipreg} |grep -E -v "DNSPod-monitor|bot.htm|spider.htm|webmasters.htm" >${cleanlogfile}



posted on 2013-01-09 23:56 Scud(飞云小侠) 阅读(1900) 评论(0)  编辑  收藏 所属分类: 其他


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年1月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

公告

文章发布许可
创造共用协议:署名,非商业,保持一致

我的邮件
cnscud # gmail


常用链接

留言簿(15)

随笔分类(113)

随笔档案(103)

相册

友情链接

技术网站

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜