我们有一个标准的高可用性设置,在我们托pipe客户端程序的协同工厂。 对于某些程序,我们托pipeDNS,但是我发现手动设置多个区域可能很乏味,而且容易出错。 有没有简单的方法来设置一个标准的区域文件模板,以及如何运行sed,awk或其他程序来处理来自另一个文件的一组variables,并将它们与模板合并来创build区域文件?
我想过使用m4,但我不是很精通,它似乎只是一次合并一个模板的理想select。
理想情况下,我想要一个标准的区域文件模板,并将其与一个列表合并,如下所示:
域1 = IP1
域2 = IP2
DOMAIN3 = IP1
domain4 = IP1
等等…
有没有一种方法来编写脚本?
我认为m4将是矫枉过正的。 我的第一本能是bash + sed,但是如果你对一个更高级的语言可能更容易一点熟悉。 关于我的头顶,我会想像这样的事情:
数据文件:
example.com:192.168.10.1 fake.com:192.168.10.2 foo.com:192.168.10.3 bar.com:192.168.10.4
脚本:
#!/斌/庆典 DATAFILE =数据文件 模板= template.txt 为$(cat $ DATAFILE)中的数据 做 DOM = $ {数据%:*} IP = $ {数据#*:} sed“{s / DOMAIN / $ dom /; S / IPADDR / $ IP /; }“$ TEMPLATE> $ dom.zone DONE
而你的模板区域文件将在适当的地方有“DOMAIN”或“IPADDR”。
这是完全没有经过testing的,使用前应该加以改进。