時(shí)間:2023-02-07 05:16:01 | 來(lái)源:建站知識(shí)
時(shí)間:2023-02-07 05:16:01 來(lái)源:建站知識(shí)
情景說(shuō)明yum -y install epel-release yum -y install python-pip
pip install aliyun-python-sdk-alidns pip install requests
# coding:utf-8from aliyunsdkcore import clientfrom aliyunsdkalidns.request.v20150109 import DescribeDomainsRequest, DescribeDomainRecordsRequest, / UpdateDomainRecordRequestimport json, urllib, re####################################################################################### 個(gè)人配置區(qū)域###################################################################################### 創(chuàng)建的 AccessKeyID = "xxxxx"Secret = "xxxxx"# 默認(rèn)RegionId = "cn-hangzhou"# 你的域名DomainName = "abc.com"# 你想解析的二級(jí)域名,是一個(gè)列表,可以寫多個(gè)HostNameList = ['test', 'hello', 'world']# 默認(rèn)Types = "A"clt = client.AcsClient(ID, Secret, RegionId)def GetLocalIP(): """ 動(dòng)態(tài)獲取當(dāng)前公司對(duì)外的公網(wǎng) IP :return: """ IPInfo = urllib.urlopen("http://2018.ip138.com/ic.asp").read() IP = re.findall(r"ip:'(.*?)',", IPInfo)[0] return IPdef EditDomainRecord(HostName, RecordId, Types, IP): """ 更新域名 IP :param HostName: :param RecordId: :param Types: :param IP: :return: """ UpdateDomainRecord = UpdateDomainRecordRequest.UpdateDomainRecordRequest() UpdateDomainRecord.set_accept_format('json') UpdateDomainRecord.set_RecordId(RecordId) UpdateDomainRecord.set_RR(HostName) UpdateDomainRecord.set_Type(Types) UpdateDomainRecord.set_TTL('600') UpdateDomainRecord.set_Value(IP) UpdateDomainRecordJson = json.loads(clt.do_action_with_exception(UpdateDomainRecord)) print(UpdateDomainRecordJson)# 獲取域名信息def GetAllDomainRecords(DomainName, Types, IP): DomainRecords = DescribeDomainRecordsRequest.DescribeDomainRecordsRequest() DomainRecords.set_accept_format('json') DomainRecords.set_DomainName(DomainName) DomainRecordsJson = json.loads(clt.do_action_with_exception(DomainRecords)) print(DomainRecordsJson['DomainRecords']['Record']) for HostName in HostNameList: for x in DomainRecordsJson['DomainRecords']['Record']: RR = x['RR'] Type = x['Type'] if RR == HostName and Type == Types: RecordId = x['RecordId'] print(RecordId)IP = GetLocalIP()EditDomainRecord(DomainName, RegionId, Types, IP)GetAllDomainRecords(DomainName, Types, IP)
【4】添加定時(shí)任務(wù): 每?jī)尚r(shí)更新一次# 添加定時(shí)任務(wù)echo "* */2 * * * /usr/bin/python /scripts/ddns_update.py" >> /var/spool/cron/root
【5】配置完成,此時(shí)你可以手動(dòng)執(zhí)行檢驗(yàn)該腳本是否能夠正常的修改域名解析!至于后面的 Nginx 反向代理,網(wǎng)上的方法很多,這里就不一一綴訴!關(guān)鍵詞:實(shí)現(xiàn),固定,動(dòng)態(tài)
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。