通过修改域名对应的IP地址可以在网站故障时实现自动IP切换
如果使用其他dns,需参考dns服务商提供的API
https://developer.godaddy.com/keys
创建时选“Product”不要选ote
#根据你自己的信息修改如下内容
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
./cdns.sh ip地址
比如要将对应的dns IP地址改为11.22.33.44,则执行
./cdns.sh 11.22.33.44
你可以在ip改变时执行脚本,将域名指向的IP地址更新为新的IP地址
监控某个网站(比如定时ping),当发现故障时执行此脚本修改域名的A记录指向备份网站的IP地址,实现故障自动切换