使用以下shell脚本可实现百度搜索主动推送资源,可以将脚本配置在计划任务中定期执行,实现自动推送资源
使用注意事项:
1. 替换变量request_url值为在百度站长已认证的域名
2. 替换变量request_code值为百度站长中普通收录>资源提交>API提交中看到的域名及token
3. 发送邮件功能需要配置mail相关信息,如果不清楚如何配置可注释对应行取消发送邮件
4. 日志存储在 /var/log/baidu_log 文件中
#!/bin/bash
# 987402997@qq.com
# update 1591591395
export LANG=zh_CN.UTF-8
request_date=`date`
#下行网址替换为你的网站地图URL
request_url=https://www.clhuang.cn/sitemap.xml
request_urls=`curl --connect-timeout 5 -s $request_url | grep https | awk -F '<loc>' '{print $2}' | awk -F '</loc>' '{print $1}'`
#下行site替换为你的网站域名,需要与百度站长上认证的一致;token为百度站长中API提交产生的对应token值
request_code=`curl -s -H 'Content-Type:text/plain' --data-binary "$request_urls" "http://data.zz.baidu.com/urls?site=你的域名&token=你的token" | jq`
request_code2=`echo "$request_code" | grep success`
request_log=/var/log/baidu_log
if [ -n "$request_urls" ] && [[ "$request_code2" == *success* ]]
then
request_message=`echo -e "$request_date \t 推送成功\n$request_code\n$request_urls \n"`
echo "$request_message" >> $request_log
#下行为发送推送结果到邮箱,如果不清楚怎么配置请注释下行
echo "$request_message" | mail -s "百度收录|推送成功" mail@mail.com
else
request_message=`echo -e "$request_date \t 推送异常\n$request_code\n$request_urls \n"`
echo "$request_message" >> $request_log
#下行为发送推送结果到邮箱,如果不清楚怎么配置请注释下行
echo "$request_message" | mail -s "百度收录|推送异常" mail@mail.com
fi
日志展示:
邮件展示: