用godaddy实现ddns或服务器故障自动切换
1、获取godaddy的API
访问如下网址:
https://developer.godaddy.com/keys
登陆后创建KEY:
注意创建时选“Product”不要选ote
注意:此页面只显示一次,需保存好key和secret
2、拷贝如下脚本,修改相关内容,保存为cdns.sh,上传至服务器或路由器,开启执行权限
#根据你自己的信息修改如下内容
domain="your_domain_here.com" # 需更新的域名,比如iytc.net
name="@" # 需更新的A记录名称,比如要更新test.iytc.net,此处填写test
key="your key here" # 你的godaddy Key
secret="your secret here" # 你的godaddy Secret
currentIp=$1
headers="Authorization: sso-key $key:$secret"
result=$(curl -v -k -X GET -H "$headers" \
"https://api.godaddy.com/v1/domains/$domain/records/A/$name")
dnsIp=$(echo $result | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b")
#echo "dnsIp======="$dnsIp
if [ "$dnsIp" != "$currentIp" ]; then
request='[{"data":"'$currentIp'","ttl":600}]'
nresult=$(curl -i -k -v -X PUT \
-H "$headers" \
-H "Content-Type: application/json" \
-d $request "https://api.godaddy.com/v1/domains/$domain/records/A/$name")
fi
3、使用方法
./cdns.sh ip
比如要将对应的dns IP地址改为11.22.33.44,则执行
./cdns.sh 11.22.33.44
4、应用
【路由器ddns】
你可以在ip改变时执行脚本,将域名指向的IP地址更新为新的IP地址
【网站故障自动切换】
在其他服务器上运行脚本监控某个网站(比如定时ping),当发现故障时执行此脚本修改域名的A记录指向备份网站的IP地址,实现故障自动切换
发表评论