计算机/互联网
计算机/互联网 > > 详情
自动生成死链并提交到百度死链路径(shell脚本)
2019-06-02 02:49 2KB.COM 阅读:545

每天定时获取网站前一天的 nginx 日志, 提取状态码为 404 并且 UA 为百度蜘蛛的抓取路径,写入到网站根目录下的 deathurls.txt 文件,由百度自动获取死链。

#!/bin/bash
#Des: 自动生成404死链并提交到百度死链路径(shell脚本)

#初始化变量:
#定义access日志存放路径
LOGS_PATH=/home/www.2kb.com/
 
#定义蜘蛛UA信息(默认是百度蜘蛛)
UA='+http://www.baidu.com/search/spider.html'
 
#定义网站域名(需要先给相应的网站以域名形式配置了nginx日志,比如zhangge.net.log)
DOMAIN=2kb.com.access
 
#定义前一天日期
DATE=`date +%Y-%m-%d -d "1 day ago"`
 
logfile=/home/wwwlogs/mao.sh_${DATE}.log
 
#定义死链文件存放路径
deathfile=/home/wwwroot/mao.sh/death.txt
 
#定义网站访问地址
website=https://www.2kb.com
 
#Nginx日志切割
mv ${LOGS_PATH}/${DOMAIN}.log ${LOGS_PATH}/${DOMAIN}_${DATE}.log
kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'`

#自动删除30天之前日志,可自行修改。
cd ${LOGS_PATH}
find . -mtime +30 -name "*20[1-9][3-9]*" | xargs rm -f
 
#分析日志并保存死链数据
for url in `awk -v str="${UA}" '$9=="404" && $15~str {print $7}' ${logfile}`
do
        grep -q "$url" ${deathfile} || echo ${website}${url} >>${deathfile}
done


#任务计划

[root@2kb.com ~]# crontab -e

#每天凌晨1点执行此脚本

0 1 */1 * * /home/www.2kb.com/death.sh >/dev/null 2>&1


#nginx 的access 日志格式也可以考虑修改(可选):

log_format  access  '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for';


脚本执行后,会在网站根目录生成死链文件:deathurls.txt,可以浏览器访问,比如:

http://www.2kb.com/deathurls.txt


这时去百度资源查看,可以检查死链状态(https://ziyuan.baidu.com/linksubmit/url)

4444.png




2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

上一篇 下一篇

首页

搜索

订单

购物车

我的