ddns的脚本
为何要写
- 人生就是一个积累的过程,如果不主动留下点什么,就真的一无所有了。
- 总是会忘记,也记不住什么东西。
- 还是得记住一些东西,尽可能地。即使在不远的将来会将它遗忘。
也许自己错了,单纯的依靠数据记录会使自己陷入荒芜,要尽可能地去学,去记忆。
ddns的实现
域名
腾讯云注册域名
工具
tccli 和一些用系统公具写出的脚步
具体实现
ip address命令输出ipv6地址,将输出处理选择出能用的公网ipv6,再用tccli命令向腾讯云发出更新解析命令,并做成定时任务
具体脚本
#!/bin/bash /root/.local/bin/tccli dnspod DescribeRecordList --cli-unfold-argument --Domain 'puxiqi.com' > list.txt RecordId=($(cat list.txt | grep "RecordId" | cut -d "," -f 1)) Value=($(cat list.txt | grep "Value")) Name=($(cat list.txt | grep "Name")) echo ${RecordId[*]} echo ${RecordId[7]} echo ${Value[*]} echo ${Name[*]} addr=($(ip address | grep "inet6 2" | tr -s " " | cut -d " " -f 3 | cut -d "/" -f 1)) /root/.local/bin/tccli dnspod ModifyRecord --cli-unfold-argument --Domain 'puxiqi.com' --SubDomain ctl --RecordType AAAA --RecordLine '默认' --Value ${addr[0]} --TTL 600 --RecordId ${RecordId[7]} /root/.local/bin/tccli dnspod ModifyRecord --cli-unfold-argument --Domain 'puxiqi.com' --SubDomain ctl --RecordType AAAA --RecordLine '默认' --Value ${addr[1]} --TTL 600 --RecordId ${RecordId[7]} /root/.local/bin/tccli dnspod ModifyRecord --cli-unfold-argument --Domain 'puxiqi.com' --SubDomain ctl0 --RecordType AAAA --RecordLine '默认' --Value ${addr[1]} --TTL 600 --RecordId ${RecordId[9]} rm list.txt
ddns.service
[Unit] Description=ddns update After=network.target [Service] User=root Type=simple ExecStart=/usr/local/bin/ddns.sh [Install] WantedBy=multi-user.target
ddns.timer
[Unit] Description=ipv6 ddns update [Timer] OnCalendar=*-*-* *:15:00 Persistent=true [Install] WantedBy=timers.target
欢迎加入 Typecho 大家族