脚本主要功能:每天定时分析网站前一天的 nginx 日志, 然后提取状态码为 404 并且 UA 为百度蜘蛛的抓取路径,并写入到网站根目录下的 death.txt 文件,用于提交百度死链。
#!/bin/bash
#Desc: Death Chain File Script
#Author: ZhangGe
#Blog: http://zhangge.net/5038.html
#Date: 2015-05-03
#初始化变量
#定义蜘蛛UA信息(默认是百度蜘蛛)
UA='+http://www.baidu.com/search/spider.html'
#前一天的日期(nginx日志)
DATE=`date +%Y-%m-%d -d "1 day ago"`
#定义日志路径
logfile=/www/wwwlogs/www.80rc.com_${DATE}.log
#定义死链文件存放路径
deathfile=/www/wwwroot/80rc/death.txt
#定义网站访问地址
website=http://www.80rc.com
#分析日志并保存死链数据
for url in `awk -v str="${UA}" '$9=="404" && $15~str {print $7}' ${logfile}`
do
grep -q "$url" ${deathfile} || echo ${website}${url} >>${deathfile}
done