我使用dnspython使用类似于
的语法执行动态DNS更新import dns.update, dns.query
update = dns.update.Update('zone', keyring=keyring)
update.add('source', 60, 'CNAME', 'destination')
response = dns.query.tcp(update, 'localhost')
这很有效,除了我希望将区域文件的更改写入磁盘。有谁知道如何触发这样的更新?
提前致谢。
答案 0 :(得分:0)
结果绑定只是每隔15分钟吐出一个区域文件。为了我的目的,我可以备份日志文件作为我希望所反映的更改能够启动命名(失败后)并具有最新记录的原因。
答案 1 :(得分:0)
你可以使用RNDC,使用crontab - 但是因为你使用的是Python ...这对我有用:
#!/usr/local/bin/python2.7
import syslog, isc
dom = 'domain.example'
r = isc.rndc(('127.0.0.1', 953), 'hmac-sha256', 'MjB5u4QLSlL5EGFtD/etc=')
ret = r.call('sync %s' % dom)
if ret['result'] != '0':
syslog.syslog(syslog.LOG_ERR, "Error writing zone: %s %s" % (dom, ret['err']))
else:
syslog.syslog(syslog.LOG_NOTICE, "Zone written to disk: %s" % dom)