近期需要对多个网站进行优化,然而每次手动将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°李道长ご