首页 > 系统相关 >通过shell脚本更新DNSPOD域名

通过shell脚本更新DNSPOD域名

时间:2023-03-23 14:36:48浏览次数:32  
标签:domain shell DNSPOD sub jq ID record 域名 id

 

 

#请先检查本机是否有安装jq
#可通过命令 yum install jq -y  或 apt-get install jq 安装


#登录dnspod
#在用户管理-密钥管理-创建密钥
#记录 ID 和 Token

ID=XXX
TOKEN=XXX
domain=baidu.com
sub_domain=www

#若为顶级域名,sub_domain填写@ 
#例: sub_domain=@

#获取域名对应的ID
domain_id=$(curl -k https://dnsapi.cn/Domain.List -d "login_token=$ID,$TOKEN" | jq -r '.domains[] | select(.punycode == "'$domain'")'  | jq .id)
echo "get domain id : $domain_id "

#获取recordid
record_id_tmp=$(curl -k https://dnsapi.cn/Record.List -d "login_token=$ID,$TOKEN&domain_id=$domain_id"  | jq -r '.records[] | select(.name == "'$sub_domain'")' | jq -r '. | select(.type == "A")' | jq .id)
#此处为查询根域名@ 且类型为A记录的域名 record id
record_id=$(echo $record_id_tmp | sed 's/\"//g')
echo "get $sub_domain domain record id : $record_id "


#更新域名本机公网IP
curl -X POST https://dnsapi.cn/Record.Ddns -d "login_token=$ID,$TOKEN&domain_id=$domain_id&record_id=$record_id&record_line=默认&sub_domain=$sub_domain"


#更新域名指定IP
#curl -X POST https://dnsapi.cn/Record.Ddns -d 'login_token=$ID,$TOKEN&domain_id=$domain_id&record_id=$record_id&record_line=默认&sub_domain=$sub_domain&value=$ip

  

标签:domain,shell,DNSPOD,sub,jq,ID,record,域名,id
From: https://www.cnblogs.com/id404/p/17247328.html

相关文章

  • shell 中常用的内置变量
    dirname获取脚本路径名basename获取脚本名$0获取脚本路径和脚本名 $@将命令行每个参数视为单独的字符串,等同于"$1"、"$2"、"$3"$*将所有的命令行所有参数视为单个......
  • shell脚本监控系统资源-linux
    #!/bin/bashbase_dir=/optwar_processor="tomcat"jar_processor="manager-server.jarplatform-server.jarplatform-task.jarplatform-trade.jarplatform-user.jar"IP......
  • Pycharm包推荐|自动检查shell脚本问题的包
     如图,这个包自动会检测出哪块代码编写有问题,自动提示,这里可以根据提示进行修改,快速高效!!!包的名字如图:Shellscriptformatter   太香了 ......
  • VS Code日常使用-shell插件安装
    个人多年经验,shell没有自己专用的IDE,使用vim开发,对于新手而言不太友好,那如何高效快速书写shell脚本?合适的工具就显得尤为重要,本人比较推荐的就是VSCode。里面有比较成熟的......
  • shell之免密登录和免密拷贝
    expect真是一个好东西,可以解决免密登录服务器和免密下载的问题。记录一下。免密登录:from heremac安装brew/usr/bin/ruby-e"$(curl-fsSLhttps://raw.githubuser......
  • NginxWeb服务器定时切割日志shell脚本
    Nginx定时切割日志定时切割方式有按月切割、按天切割、按小时切割等。最常用的是按天切割。Nginx不支持像Apache一样使用cronolog来轮转日志,但是可以采用以下方式来实现日......
  • nginx做https域名映射
     ......
  • 红帽认证RedHat-RHCSA shell的基本应用用户和组管理网络配置和防火墙管理笔记汇总
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操......
  • 使用shell并发执行系统命令
    一解决方案旧方案为挨个执行shell_exec,串行执行,虽然执行很快,奈何监听命令众多,redis连接有等待时间等,有的还需要执行多次取平均值,所以执行完已超过1min故,改为并发执行命......
  • Linux启动Java程序jar包Shell脚本
    手动方式启动和终止java程序启动java程序jar:nohupjava-jarXXX.jar查看程序占用pid:ps-ef|grepXXX.jar或jpsjps是jdk提供的一个查看当前java进程的小工具,查询Lin......