chaihongjun.me

网站404页面地址自动提交更新版

网站404页面地址自动提交更新版

linux主机每天检查网站的新增404页面,将新增的404页面地址添加到死链文件death.txt中,提供百度站长平台抓取。

检查网站死链地址,依据的是蜘蛛抓取网站之后的访问日志。检查日志里面的404状态码。

death.sh:

#!/bin/bash       
#初始化变量    
#定义蜘蛛UA信息(默认是百度蜘蛛)    
UA=+http://www.baidu.com/search/spider.html    
#前一天的日期(nginx日志)    
DATE=`date +%Y-%m-%d -d "1 day ago"    
#定义日志路径,日志的文件名格式为 hongzhuangzx.org_2015-05-04.log
logfile=/alidata1/www/logs/www.hzwlb.org_${DATE}.log
#定义死链文件存放路径    
deathfile=/alidata1/www/www.hzwlb.org/death.txt    
#定义网站访问地址    
website=http://www.hzwlb.org    
#分析日志并保存死链数据    
for url in `cat  ${logfile} | grep -i "${UA}" | awk '{print $7 " " $9}' | grep " 404" | awk '{print $1}'`    
do    
grep "$url" ${deathfile} > /dev/null || echo ${website}${url} >> ${deathfile}    
done

接着做每日计划任务

#执行如下命令编辑任务计划    
[root@root ~]# crontab -e    
#每天凌晨1点执行此脚本    
0 1 */1 * * /root/death.sh > /dev/null 2>&1    
#按下ESC,然后键入:x 保存并退出

之前是针对度娘的蜘蛛做的404检查,其他家蜘蛛也可以如此炮制:(2016-6-27新增)

#!/bin/bash       
#初始化变量    
#定义蜘蛛UA信息(默认是百度蜘蛛)    
UA_baidu=+http://www.baidu.com/search/spider.html
UA_yisou=YisouSpider
UA_google=+http://www.google.com/bot.html
UA_360=360Spider   
#前一天的日期(nginx日志)    
#DATE=`date +%Y-%m-%d -d "1 day ago"    
#定义日志路径,日志的文件名格式为 hongzhuangzx.org_2015-05-04.log
logfile=/alidata1/www/logs/chaihongjun.me_nginx.log
#定义死链文件存放路径    
deathfile=/alidata1/www/web/chaihongjun.me/404.txt    
#定义网站访问地址    
website=https://chaihongjun.me  
#定义网站访问地址        
#分析日志并保存死链数据(baidu)    
for url in `cat  ${logfile} | grep -i "${UA_baidu}" | awk '{print $7 " " $9}' | grep " 404" | awk '{print $1}'`    
do    
grep "$url" ${deathfile} > /dev/null || echo ${website}${url} >> ${deathfile}
done
#分析日志并保存死链数据(Yisou)    
for url in `cat  ${logfile} | grep -i "${UA_yisou}" | awk '{print $7 " " $9}' | grep " 404" | awk '{print $1}'`
do
grep "$url" ${deathfile} > /dev/null || echo ${website}${url} >> ${deathfile}    
done
#分析日志并保存死链数据(google)    
for url in `cat  ${logfile} | grep -i "${UA_google}" | awk '{print $7 " " $9}' | grep " 404" | awk '{print $1}'`
do
grep "$url" ${deathfile} > /dev/null || echo ${website}${url} >> ${deathfile}
done
#分析日志并保存死链数据(360)    
for url in `cat  ${logfile} | grep -i "${UA_360}" | awk '{print $7 " " $9}' | grep " 404" | awk '{print $1}'`
do
grep "$url" ${deathfile} > /dev/null || echo ${website}${url} >> ${deathfile}
done


知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。作者:柴宏俊»