How to use perl to do a mass update of a single A record for all domains

If you're looking to change the IP value of 1 A record in all db files for all domains, perl will be your best friend. In this example, we'll change the mail A record from any previous IP to a new value of 1.2.3.4. This will make all mail get delivered to 1.2.3.4 when the MX record is looked up in the dns query.

First, you'll want to change to the directory where your db files live. On redhat systems it's /var/named. On debian /etc/bind On freebsd /etc/namedb

So the example would be

cd /var/named
perl -pi -e 's#^mail\s14400\sIN\sA\s(.*)$#mail\t14400\tIN\tA\t1.2.3.4#' *.db

Then restart named so the new values take effect.

Note that these steps can be applied to other A record with different names (like pop and smtp), and even to other record types like MX, NS, TXT, etc.

 
config/perl.txt · Last modified: 2010/02/22 04:10 by muscardin
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Please visit Automatic Backlinks to start earning free backlinks Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki