知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

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

发布时间:2014-09-05 15:20:18作者:知识屋

过滤访问日志里的无效ip和robot
 
定期更新ip的脚本: 
  www.zhishiwu.com  
#!/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 {} /; 
 
分析日志的脚本:  www.zhishiwu.com  
 
#!/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}
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜