shell脚本自动提交404死链到搜索引擎站长工具

  • A+
所属分类:日志

以前见过一篇这样的文章,学习他的思路。做网站的一半都会更换主题,删除文章等。天长日久,导致大量404页面,根据作者的提醒,可以利用shell抓取日志中404访问记录,提交到搜索引擎站长工具

该站长使用很少几条命令来做到了过滤404以及百度蜘蛛。对于我的站来说,只要访问出现404的页面,肯定是有问题的。我准备全部提交给百度。

看着是比人家的繁琐多了,水平有限。该脚本适合使用oneinstack部署的网站。测试服务器为了方便部署一直使用该脚本工具部署环境。

这个脚本支持多网站生成404url提交页面。以及自定义网站及目录。

例如:网站域名是www.itxueguan.com,网站目录是:/data/wwwroot/itxueguan,使用该脚本不需要更改。

如果网站目录是/data/wwwroot/abc,那么需要使用customwwwlist及customdirlist功能来做。

该脚本会在网站根目录下生成nopages.txt文件,例如:www.itxueguan.com/nopages.txt,提交死链到站长工具

在服务器端需要使用crontab计划任务设置执行时间。例如:* * */1 * * /bin/bash /root/404url.sh

shell脚本自动提交404死链到搜索引擎站长工具

代码如下:


#!/bin/bash

#作者:fushengbao

#更新记录

#20180913:初始化

wwwlist='shengbao.org www.itxueguan.com'

customwwwlist=(www.yeshibiji.com)

customdirlist=(yeshi)

dirlist=`ls /data/wwwroot|grep -v "wwwroot\|wwwlog\|mysql"|sort -r`

for wwwlista in $wwwlist;do

a=`echo $wwwlista|awk -F'.' '{print $(NF-1)}'`

for dirlista in $dirlist;do

if [ $a == $dirlista ];then

if [ -f /data/wwwroot/$dirlista/nopages.txt ];then

rm -rf /data/$dirlista/nopages.txt

fi

loglist=`ls /data/wwwlogs/|grep -v "access_nginx.log\|error_nginx.log\|.gz"|grep ".log"|grep "$wwwlista"|sort -r`

url404=`cat /data/wwwlogs/$loglist|grep 404|awk -F ' ' '{print $7}'`

for url404a in $url404;do

echo "$wwwlista""$url404a" >> /data/wwwroot/$dirlista/nopages.txt

done

continue

fi

done

if [[ ! "${customwwwlist[@]}" =~ $wwwlista ]];then

customsn=`echo ${#customwwwlist[*]}`

customsna=`echo ${#customdirlist[*]}`

if [ $customsn == $customsna ];then

for((ia=0;ia<="$customsn";ia++));do

loglistb=`ls /data/wwwlogs/|grep -v "access_nginx.log\|error_nginx.log\|.gz"|grep ".log"|grep -w "${customwwwlist[$ia]}_nginx.log"|sort -r`

if [ ! -z $loglistb ];then

if [ -f /data/wwwroot/"${customdirlist[$ia]}"/nopages.txt ];then

rm -rf /data/wwwroot/"${customdirlist[$ia]}"/nopages.txt

fi

url404b=`cat /data/wwwlogs/$loglistb|grep 404|awk -F ' ' '{print $7}'`

for url404c in $url404b;do

echo "${customwwwlist[$ia]}""$url404c" >> /data/wwwroot/"${customdirlist[$ia]}"/nopages.txt

done

fi

done

fi

else

echo "自定义配置出错"

fi

done

下载地址


此处为隐藏的内容!
登录后才能查看!

 

weinxin
付生保个人博客
一个运维工程师的自媒体个人博客网站。也是关注IT技术学习和经验分享的原创独立自媒体个人博客。
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: