hint: 5 minutes is a good min. run interval (LWP default timeout is 180 seconds, so...) the 'bindzones' file on the master DNS server: http://10.10.10.10/bindzones.txt tomekk.org,78.47.253.13:ns2,ns3 woswiecimiu.net,78.47.253.13:ns2,ns3 lutuje.se,78.47.253.13:ns2 ,:, marks - when you have more than one slave DNS server and you want to choose which domain should be on which server the 'fetchslave' script: host fe. ns2.tomekk.org, cron runs script with argument 'ns2': ./fetchslave.pl ns2 BIND9 zone file generated by script: zone "tomekk.org" IN { type slave; file "tomekk.org"; masters { 78.47.253.13; }; allow-notify { 78.47.253.13; }; }; zone "woswiecimiu.net" IN { type slave; file "woswiecimiu.net"; masters { 78.47.253.13; }; allow-notify { 78.47.253.13; }; }; zone "lutuje.se" IN { type slave; file "lutuje.se"; masters { 78.47.253.13; }; allow-notify { 78.47.253.13; }; }; host fe. ns3.tomekk.org, cron runs script with argument 'ns3': ./fetchslave.pl ns3 BIND9 zone file generated by script: zone "tomekk.org" IN { type slave; file "tomekk.org"; masters { 78.47.253.13; }; allow-notify { 78.47.253.13; }; }; zone "woswiecimiu.net" IN { type slave; file "woswiecimiu.net"; masters { 78.47.253.13; }; allow-notify { 78.47.253.13; }; }; At the end script forces named to reload the zones (-HUP named) Marks are based on regexp, so try to use simple chars without any specials. This script will generate only zone file which should be 'included' in your main BIND9 config file, fe.: options { directory "/var/named"; ... more BIND options etc ... }; /*** slaves ***/ include "/etc/bind/slaves.conf"; Script will reload named only when 'bindzones' file is changed.