ddnspod php 脚本_dnspod api自动更新解析记录脚本

下面操作是在Ubuntu下进行

第一步先安装jq

sudo apt install jq

第二步去获取API Token

创建后就获得API的ID和Token,因为只显示一次,所以Token的值自己记着

第三步获取域名的ID

假设API的ID是123456,Token是aabbcc112233,login_token就是123456,aabbcc112233,然后执行以下命令获取域名ID

curl 'https://dnsapi.cn/Domain.List' -d 'login_token=123456,aabbcc112233&format=json'

第四步获取子域名ID

假设第三步获取的域名ID是778899,然后执行以下命令获取子域名ID

curl 'https://dnsapi.cn/Record.List' -d 'login_token=123456,aabbcc112233&format=json&domain_id=778899'

假设第四步获取到的子域名ID为

a记录的ID是12

b记录的ID是34

c记录的ID是56

然后要对这三个子域名解析记录更新IP

脚本如下

#!/bin/bashtime=$(date "+%Y-%m-%d %H:%M:%S")

oldIPFile=./oldip.txt

logFile=./updatelog.txt

LOGIN_TOKEN=123456,aabbcc112233RECORD_ID=12,34,56

functionupdateIp() {

result=$(curl -X POST https://dnsapi.cn/Batch.Record.Modify -d "login_token=${LOGIN_TOKEN}&format=json&record_id=${RECORD_ID}&change=record_type&change_to=A&value=${myip}" | jq .status.code)

code="\"1\""

if [ "$result" = "$code"];then

echo "${time} 更新成功 ${myip}" >>$logFileecho "$myip" >$oldIPFileelse

echo "更新失败,代码: $result" >>$logFile

exit0

fi}

myip=$(curl http://pv.sohu.com/cityjson 2>> /dev/null | awk -F '"' '{print $4}')

echo "当前ip:$myip"

if [ ! -f "$oldIPFile" ]; thenupdateIpelseoldip=$(cat$oldIPFile)if [ "$myip" = "$oldip" ]; thenexit0

elseupdateIpfi

fi

假设要每分钟执行一次的话

编辑定时任务

crontab -e

然后在最后一行增加(假设我脚本放在/home目录下,名字叫dns.sh),编辑后保存

* * * * * cd /home && bash dns.sh

最后,记得给脚本x权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值