Magazine Humeur

How to quickly remove a lot of dns zones from bind ?

Publié le 08 juillet 2016 par Christophe_casalegno

When you work for a MSP, a hosting company or a cloud operator, sometimes you need to delete a lot of dns zone in one time. If you need to delete 1500 zones with your hand and you keyboard, you 'll need week to do the job. So let me show you how you can do this with less efforts on a linux bind server with the power of the shell :


!/bin/sh
rootdir="/var/bind9/chroot/etc/bind"
zonedir="/var/bind9/chroot/etc/bind/master"
conf="*.conf"
zone=$1

sed -e "/^zone \"$zone\" {/,/^};$/ d" -i $rootdir/$conf
rm $zonedir/$zone.hosts

You can save this file on the name for your choice, for example : removezone.sh
Make it executable : chmod +x removezone.sh

It is very simple :
  • rootdir is where are your configuration files
  • conf is your configuration file (example : named.conf or *.conf
  • zonedir is just where your dns zones files are stored (/var/lib/named/master, etc.)

So to delete 1000 zones just put all your zones in a text file like this :

toto.com
tata.com
titi.com

When you have you file, just do a cat yourfile.txt |xargs -l ./removezone.sh and it will remove all zones in the file. If you just want to delete one zone you can do ./removezone.sh yourdomain.com

-
Christophe Casalegno
https://twitter.com/Brain0verride


Retour à La Une de Logo Paperblog

A propos de l’auteur


Christophe_casalegno 1903 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazines