#!/bin/sh # (c) http://scripts.akakul.co.uk/ old_pri_ns="ns1.cameldns.com" old_sec_ns="ns2.cameldns.com" new_pri_ns="new_ns1.cameldns.com" new_sec_ns="new_ns2.cameldns.com" new_sec_ns_ip="255.255.255.255" old_A_rec_ip="123.123.123.123" new_A_rec_ip="111.222.111.222" new_serial_date=$(date +%Y%m%d01) echo "/^;/d; s~$old_pri_ns.~$new_pri_ns.~g; s~$old_sec_ns.~$new_sec_ns.~g; s~$old_A_rec_ip~$new_A_rec_ip~g; /(/{ n i\\ $new_serial_date d }" > new_serial.sed rm -rf my_temp_conf for dom in $(ls -A | grep "^pri.\|^sec.");do echo $dom | grep --silent --no-messages "^pri." if [ $? -eq 0 ]; then sed -f new_serial.sed $dom > $dom.$$ mv $dom.$$ $dom echo -e "zone \"$dom\" {;\ntype master;\nfile \"/var/named/$dom\";\n};\n\n" >> my_temp_conf else echo -e "zone \"$dom\" {\ntype slave;\nfile \"/var/named/$dom\";\nmasters { $new_sec_ns_ip; };\n};\n\n" >> my_temp_conf rm $dom # yes we ARE deleting the secondary zone file here fi done rm -rf new_serial.sed echo "Thats it, we are done" exit