Appearance
hexo文章更新-CDN节点缓存刷新
上一节开启了https+CDN加速,更新文章后,打开域名网站发现没有及时更新,但是利用IP地址打开网站就更新了,仔细想想应该是CDN缓存问题
搜集大量资料,由于我采用的是七牛云CDN,直接利用脚本进行CDN缓存刷新,相关代码如下:
ps: 每日的刷新url限额为500,每日的当前剩余的刷新dir限额为10
bash
#!/bin/bash
echo 发起请求:
ak="LxvnEOavPIzvYX-5t4lNWdpn7ubivKqJIKEjZuIG"
token=$(echo "/v2/tune/refresh" |openssl dgst -binary -hmac "GO_2aQQIw4DY31aoYFQnEI9pI3eeT-haTfFaSJQK" -sha1 |base64 |tr "+/" "-_")
result=$(curl -X POST -H "Authorization: QBox $ak:$token" http://fusion.qiniuapi.com/v2/tune/refresh -d '{"urls":["https://jiangyuhui.top/"]}' -H 'Content-Type: application/json')
# grep "code" 为提取code值
code=$(echo $result | sed 's/,/\n/g' | grep "code" | sed 's/:/\n/g' | sed '1d' | sed 's/}//g')
# grep "urlSurplusDay" 为提取urlSurplusDay值
urlSurplusDay=$(echo $result | sed 's/,/\n/g' | grep "urlSurplusDay" | sed 's/:/\n/g' | sed '1d' | sed 's/}//g')
# grep "dirSurplusDay" 为提取dirSurplusDay值
dirSurplusDay=$(echo $result | sed 's/,/\n/g' | grep "dirSurplusDay" | sed 's/:/\n/g' | sed '1d' | sed 's/}//g')
if [[ $code = 200 ]]; then
echo "----------------------------------"
echo "CDN缓存刷新成功!"
echo "每日的当前剩余的刷新url限额:$urlSurplusDay"
echo "每日的当前剩余的刷新url限额:$dirSurplusDay"
echo "----------------------------------"
elif [[ $code = 400031 ]]; then
echo "----------------------------------"
echo "请求中存在无效的 url,请确保 url 格式正确"
echo "----------------------------------"
elif [[ $code = 400032 ]]; then
echo "----------------------------------"
echo "请求中存在无效的域名,请确保域名格式正确"
echo "----------------------------------"
elif [[ $code = 400034 ]]; then
echo "----------------------------------"
echo "请求次数超出当日刷新限额"
echo "----------------------------------"
elif [[ $code = 400036 ]]; then
echo "----------------------------------"
echo "无效的请求 id"
echo "----------------------------------"
elif [[ $code = 400037 ]]; then
echo "----------------------------------"
echo "url 正在刷新中"
echo "----------------------------------"
elif [[ $code = 500000 ]]; then
echo "----------------------------------"
echo "服务端内部错误,请联系技术支持"
echo "----------------------------------"
else
echo "----------------------------------"
echo "未知错误,你脚本有问题!"
echo "----------------------------------"
fi
echo 按任意键继续
read -n 1