给你所需要的内容!
坚持不易,且行且珍惜!

利用crontabs创建网址自动推送到百度任务+推送成功SMTP邮件通知

随着科技和经济水平的提高,普通大众创建一个属于自己的小小的博客已不是什么难事。但很多网站都没能很好的利用百度这个搜索引擎,导致网站收录不好,可以说很多内容是写给自己看的(毫不夸张)。如果网站更新稍微频繁一点的话,百度都会给大约100000条/天的网址提交额度。接下来这篇文章就是写给:不会写代码又不太愿意花钱买各种各样的高级插件(包括但不限于:WordPress插件(贼贵)&宝塔面板插件(更贵,不支持买断,还要按月(年)续费))来实现网址推送的目的,其实这些东西最后都要利用百度官方的api推送接口,用一句不文明的话说就是:换了张好看的皮!

开始前的必备条件:①基于WordPress的网站(其实非必要,只要你有txt格式的网站地图即可,例如本站的:TXT地图);

②云服务器(共享虚拟主机的用户就不用往下看了;独享虚拟主机,博主我没买过,不确定行不行).

1、以下适用于没用安装宝塔面板的用户:

第一步,在你的服务器中安装crontabs包,Centos系统命令如下(请根据你自己实际的系统来修改命令):

yum install crontabs

第二步,查看crontabs状态:

service crond status

第三步,手动启动crontab服务:

service crond start

第四步,查看crontab服务是否已设置为开机启动:

ntsysv

第五步,如果没有设置为开机启动,执行下面这个命令设置开机自启:

chkconfig crond on

第六步,在crontab中设置计划任务:

crontab -e        #使用这个命令进入计划任务设置

第七步,按”i”进入输入模式,然后内容的末尾添加要执行的时间和频率:

0 */2 * * * bash /www/bash/baidu_url_sub/bd_url_sub.sh

# 以上命令表示每两个小时推送一次链接到百度,更多自定义方法请看扩展知识!!!

# 请把”/www/bash/” 替换为你自己的文件的实际位置,脚本后面我会提供下载链接

扩展知识:

cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使 用计时器的功能。

参数含义:

-e 编辑该用户的计时器设置。

-l  列出该用户的计时器设置。

-r 删除该用户的计时器设置。

-u <用户名称> 指定要设定计时器的用户名称。

基本格式 :

* * * * * command

分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用 /1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列表示星期0~6(0表示星期天)

第6列表示要运行的命令

示例:

0 6 * * * bash /www/bash/baidu_url_sub/bd_url_sub.sh  #每天6点推送网址

0 */2 * * * bash /www/bash/baidu_url_sub/bd_url_sub.sh # 每隔2个小时推送一次网址

0 23-7/2 * * * bash /www/bash/baidu_url_sub/bd_url_sub.sh # 晚上11点到早上8点之间每两个小时推送一次网址

0 12 15 * 1-3 bash /www/bash/baidu_url_sub/bd_url_sub.sh # 每个月的15号和每个星期的星期一到星期三的中午12点推送网址

5,15,25 16,17,18 * * * bash /www/bash/baidu_url_sub/bd_url_sub.sh # 每天的下午4点、5点、6点的第5分钟、15分钟和25分钟时推送网址

第八步,按“ESC”键退出编辑模式,输入英文”:”符号,然后输入wq,即可保存并退出;

第九步,我们可以使用 crontab -l 命令查看所有计划任务,验证是否添加成功.

2、以下内容适用于已安装宝塔面板的用户:

第一步,在宝塔面板的计划任务中添加新任务,任务类型就选择默认的Shell脚本;

第二步,在脚本内容里输入 “bash /www/bash/baidu_url_sub/bd_url_sub.sh” (不要双引号,路径请替换为你自己的);

利用crontabs创建网址自动推送到百度任务+推送成功SMTP邮件通知

3、TXT格式的网站地图获取:

由于博主的网站是基于WordPress做的,所以就只针对WordPress网站做一下说明,使用其他程序的网站,请自行百度对应的TXT格式网站地图生成方式!!

方式一:安装WP TXT Sitemap插件,该插件的设置选项不同寻常,位置在:设置>阅读,生成的文件名为sitemap.txt,位于网站根目录下,可以直接在你的域名后加/sitemap.txt进行查看,例如:https://pucqx.cn/sitemap.txt

利用crontabs创建网址自动推送到百度任务+推送成功SMTP邮件通知

方式二:将以下代码另存为ping.php文件,注意使用utf-8格式,然后将其上传到你的WordPress安装根目录里

<?php

require(‘./wp-blog-header.php’);

header(‘Content-type: application/txt’);

header(‘HTTP/1.1 200 OK’);

$posts_to_show = 50000; // 限制最大文章数量

?>

<?php

header(“Content-type: text/txt”);

$myposts = get_posts( “numberposts=” . $posts_to_show );

foreach( $myposts as $post ) { ?>

<?php the_permalink(); ?><?php echo “\n”; ?>

<?php } ?>

设置伪静态

①、Nginx

编辑已存在的Nginx伪静态规则,新增如下规则后(平滑)重启nginx即可:

rewrite ^/ping.txt$ /ping.php last;

②、Apache

编辑网站根目录的 .htaccess ,加入如下规则:

RewriteRule ^(ping)\.xml$ $1.php

做好伪静态规则后,可以访问sitemap.xml,看看伪静态是否设置成功了

最后我们输入https://pucqx.cn/ping.txt就可以看到无插件纯代码生成txt格式的网站地图了

以上两种方式任选一种即可!

4、执行频率的设置:

具体执行频率的设置需要根据网站地址条数来设定,以本站为例,每次生成的sitemap.txt大约为2700条数据,100000额度的话需要执行大约37次,于是我设定了6个相同的任务,每个任务都是隔四个小时执行一次. 也许你会问为什么不用循环?千万不能用循环!!我尝试修改成循环,提交了不到两轮,服务器IP被百度防火墙给屏蔽了,之后尝试每次提交一条,也都没有返回结果,所以千万不要改成循环!

5、参数修改:

请修改bd_url_sub.sh中的推送接口,获取地址为:https://ziyuan.baidu.com/linksubmit/index

请修改get_urls.py中的请求地址

如果你想使用SMTP邮件推送,请配置notice.py中的参数

如果你有什么疑问或问题,请评论留言!如果文章中有纰漏之处,欢迎批评指正!

赞(0) 打赏
这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看 | 广告投放
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《利用crontabs创建网址自动推送到百度任务+推送成功SMTP邮件通知》
文章链接:https://www.heu8.net/website/1909.html
免责声明:本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担。本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。

评论 抢沙发

评论前必须登录!

立即登录  注册

如果本文对您有所帮助,请赞赏作者进行支持呦~

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏