近期需要对多个网站进行优化,然而每次手动将URL提交至百度显得非常麻烦。虽然使用了百度自动提交代码,但仍有不便之处。为此,我写了以下脚本,既可单独使用,也可同时使用。尽管可定期访问URL文件,但日志中却常常会出现404错误、权限不足等问题,这使人疑惑是否提交成功。以下代码可直接执行PHP文件,并返回百度官方结果。使用方法请自行研究。

近期需要对多个网站进行优化,然而每次手动将URL提交至百度显得非常麻烦。虽然使用了百度自动提交代码,但仍有不便之处。为此,我写了以下脚本,既可单独使用,也可同时使用。尽管可定期访问URL文件,但日志中却常常会出现404错误、权限不足等问题,这使人疑惑是否提交成功。以下代码可直接执行PHP文件,并返回百度官方结果。使用方法请自行研究。

交流 微信:Me89627

以下代码都是每隔24小时定制执行一次,无限循环,频繁提交会被处罚。

1,单独使用,指一个服务器内只有一个站点或者是只执行一个PHP文件。

#!/bin/bash
while true
do
    php /path/to/your/php/file.php

    sleep 24h
done

修改后的脚本上面的脚本是每间隔24小时执行一次,下面的脚本取消了时间间隔,设置好定时即可

#!/bin/bash

php /path/to/your/php/file.php

 2,同时使用,指一个服务器内有多个站点,切每个站点的地址都是不同的,同时执行多个PHP文件,但返回日志看不出来是那个站点提交成功了。

#!/bin/bash
php_files=(
    "/path/to/your/php/file.php"
    "/path/to/your/php/file.php"
	"/path/to/your/php/file.php"
)

while true
do
    for file in "${php_files[@]}"
    do
        php "$file"
    done

    sleep 24h
done

3,同时使用,指一个服务器内有多个站点,切每个站点的地址都是不同的,同时执行多个PHP文件,日志会根据名称以及PHP文件路径返回,简单明了。

#!/bin/bash

declare -A php_files=(
    ["/path/to/your/php/file.php"]="站点名称①"
    ["/path/to/your/php/file.php"]="站点名称②"
    ["/path/to/your/php/file.php"]="站点名称③"
)

while true
do
    for file in "${!php_files[@]}"
    do
        now=$(date +"%Y-%m-%d %H:%M:%S")
        echo "[$now] Executing ${php_files[$file]}: $file"
        php "$file"
        echo ""
    done

    sleep 24h
done

重新修改后的脚本,之前的脚本是每隔24小时执行一次,是无限循环,存在了一定的错误,下面的脚本取消了时间限制,取消了无限循环,只执行一次;

删库塔的定时计划或crontab都能够很好的执行.sh脚本也就不存在了无限循环和定制执行,只需要设置好定时任务即可,修改后的脚本;

#!/bin/bash

declare -A php_files=(
    ["/path/to/your/php/file.php"]="百度URL采集"
    ["/path/to/your/php/file.php"]="MURL采集"
    ["/path/to/your/php/file.php"]="百度URL采集"
)

for file in "${!php_files[@]}"
do
    now=$(date +"%Y-%m-%d %H:%M:%S")
    echo "[$now] Executing ${php_files[$file]}: $file"
    php "$file"
    echo ""
done

  

将以上的/path/to/your/php/file.php修改为自己的php文件路径,其中3和4多条使用可以自己添加sleep 24h为间隔时间,自行修改。

可将以上任意代码保存为.sh文件使用,也可以在删库塔内计划任务内添加,如果是.sh文件需要赋予执行权限(chmod +x 文件名.sh)

作者:Alone°李道长ご