Shell 分析网站日志生成404死链文件

2019-04-20 小惟 3

Shell 分析网站日志生成404死链文件

网站进行改版或是迁移,或者对于某些内容涉及敏感话题进行删除等,都会造成网站的页面 404 ,无法正常访问链接。如果知道某个链接是 404 ,那还比较简单,直接提交给搜索引擎,比如百度站长平台的死链提交。但是,如果因某些因素造成的 404 死链,导致搜索引擎蜘蛛爬虫大量爬取 404 链接,那么会造成网站运营的不便。如何减少这种情况的产生呢?通过 Shell 脚本分析网站日志可以获得 404 链接。

Shell 脚本代码:

#!/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=/home/wwwlogs/zhangge.net_${DATE}.log
 #定义死链文件存放路径deathfile=/home/wwwroot/zhangge.net/death.txt 
#定义网站访问地址website=http://zhangge.net 
#分析日志并保存死链数据for url in `awk -v str="${UA}" '$9=="404" && $15~str {print $7}' ${logfile}`do
grep -q "$url" ${deathfile} || echo ${website}${url} >>${deathfile}done

使用说明:

①、脚本适用于每天都做了日志切割的Nginx

②、保存为 shell 脚本,比如 deathlink.sh,然后如下建立任务计划:

③、执行后,将在网站根目录生成死链文件:death.txt,可以浏览器访问看看内容

④、前往前往百度站长平台提交这个死链文件