utility to update "A" entry to CNAME in bulk for some selected domain

crazyaboutlinux

Well-Known Member
Nov 3, 2007
939
1
66
utility to update/change/replace "A" entry to CNAME in bulk for some selected domains in Edit DNS Zone

mail 14400 IN A 61.17.xx.xxx (i want to update/change/replace it to as below)
mail 14400 IN CNAME my.server.com

and i want to do this for some selected domains which are currently hosted on the server
 
Last edited:

ModServ

Well-Known Member
Oct 17, 2006
337
5
168
Egypt
cPanel Access Level
Root Administrator
Let's say I've a DNS Zone file like this:
PHP:
[email protected] [~]# cat zone.com.db
; cPanel first:11.26.20-STABLE_49708 (update_time):1318319959 Cpanel::ZoneFile::VERSION:1.3 hostname:xxxxxxxxxxxxxxxx latest:11.30.4.6
; Zone file for XXXXXXXXXX
$TTL 14400
XXXXXXXXXX. 86400 IN SOA ns3.XXXXXXXXXX. xxx.xxxxxxxx.xxxx. (
2011101101 ;Serial Number
86400 ;refresh
7200 ;retry
3600000 ;expire
86400 ;minimum
)

XXXXXXXXXX. 86400 IN NS ns3.xxxxxxxxxxx.
XXXXXXXXXX. 86400 IN NS ns4.xxxxxxxxxxx.


XXXXXXXXXX. 14400 IN A xxxxxxxxxxxx

localhost 14400 IN A 127.0.0.1

XXXXXXXXXX. 14400 IN MX 0 XXXXXXXXXX.

mail 14400 IN CNAME XXXXXXXXXX.
www 14400 IN CNAME XXXXXXXXXX.
ftp 14400 IN A xxxxxxxxxxxx
cpanel 14400 IN A xxxxxxxxxxxx
whm 14400 IN A xxxxxxxxxxxx
webmail 14400 IN A xxxxxxxxxxxx
webdisk 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX. 14400 IN MX 10 XXXXXXXXXXXXXXXXXX.pamx1.hotmail.com.
vps 14400 IN A xxxxxxxxxxxx
ns3 14400 IN A xxxxxxxxxxxx
ns4 14400 IN A xxxxxxxxxxxxxxx
ns1 14400 IN A xxxxxxxxxxxxxxx
ns2 14400 IN A xxxxxxxxxxxx

I want "for example to delete the line 41 highlighted in RED"

Just execute this command:

PHP:
sed -i '41 d' zone.com.db
You will see no result after executing, Ok, Let's view the file after this:

PHP:
[email protected] [~]# cat zone.com.db
; cPanel first:11.26.20-STABLE_49708 (update_time):1318319959 Cpanel::ZoneFile::VERSION:1.3 hostname:xxxxxxxxxxxxxxxx latest:11.30.4.6
; Zone file for XXXXXXXXXX
$TTL 14400
XXXXXXXXXX. 86400 IN SOA ns3.XXXXXXXXXX. xxx.xxxxxxxx.xxxx. (
2011101101 ;Serial Number
86400 ;refresh
7200 ;retry
3600000 ;expire
86400 ;minimum
)

XXXXXXXXXX. 86400 IN NS ns3.xxxxxxxxxxx.
XXXXXXXXXX. 86400 IN NS ns4.xxxxxxxxxxx.


XXXXXXXXXX. 14400 IN A xxxxxxxxxxxx

localhost 14400 IN A 127.0.0.1

XXXXXXXXXX. 14400 IN MX 0 XXXXXXXXXX.

mail 14400 IN CNAME XXXXXXXXXX.
www 14400 IN CNAME XXXXXXXXXX.
ftp 14400 IN A xxxxxxxxxxxx
cpanel 14400 IN A xxxxxxxxxxxx
whm 14400 IN A xxxxxxxxxxxx
webmail 14400 IN A xxxxxxxxxxxx
webdisk 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
vps 14400 IN A xxxxxxxxxxxx
ns3 14400 IN A xxxxxxxxxxxx
ns4 14400 IN A xxxxxxxxxxxxxxx
ns1 14400 IN A xxxxxxxxxxxxxxx
ns2 14400 IN A xxxxxxxxxxxx
LINE DOES NOT EXIST!, That's great, Let's continue..You can add the requested line as below:

PHP:
echo "mail 14400 IN CNAME my.server.com" >> zone.com.db
Ok, Let's try in action:
[email protected] [~]# echo "mail 14400 IN CNAME my.server.com" >> zone.com.db
[email protected] [~]# cat zone.com.db
; cPanel first:11.26.20-STABLE_49708 (update_time):1318319959 Cpanel::ZoneFile::VERSION:1.3 hostname:xxxxxxxxxxxxxxxx latest:11.30.4.6
; Zone file for XXXXXXXXXX
$TTL 14400
XXXXXXXXXX. 86400 IN SOA ns3.XXXXXXXXXX. xxx.xxxxxxxx.xxxx. (
2011101101 ;Serial Number
86400 ;refresh
7200 ;retry
3600000 ;expire
86400 ;minimum
)

XXXXXXXXXX. 86400 IN NS ns3.xxxxxxxxxxx.
XXXXXXXXXX. 86400 IN NS ns4.xxxxxxxxxxx.


XXXXXXXXXX. 14400 IN A xxxxxxxxxxxx

localhost 14400 IN A 127.0.0.1

XXXXXXXXXX. 14400 IN MX 0 XXXXXXXXXX.

mail 14400 IN CNAME XXXXXXXXXX.
www 14400 IN CNAME XXXXXXXXXX.
ftp 14400 IN A xxxxxxxxxxxx
cpanel 14400 IN A xxxxxxxxxxxx
whm 14400 IN A xxxxxxxxxxxx
webmail 14400 IN A xxxxxxxxxxxx
webdisk 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
XXXXXXXXXX 14400 IN A xxxxxxxxxxxx
vps 14400 IN A xxxxxxxxxxxx
ns3 14400 IN A xxxxxxxxxxxx
ns4 14400 IN A xxxxxxxxxxxxxxx
ns1 14400 IN A xxxxxxxxxxxxxxx
ns2 14400 IN A xxxxxxxxxxxx
mail 14400 IN CNAME my.server.com
Done ;)