我正在使用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')除了我希望将对区域文件的更改写入磁盘之外,这种方法工作得很好。有人知道如何触发这样的更新吗?
提前谢谢。
发布于 2017-12-27 09:16:06
您可以使用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)发布于 2013-05-15 13:10:06
原来bind只是每15分钟输出一次区域文件。出于我的目的,我可以备份日志文件,因为我希望反映更改的原因是能够启动命名的(在失败后)并具有最新的记录。
https://stackoverflow.com/questions/16544794
复制相似问题