Quand on travaille pour un MSP, un hébergeur ou un opérateur cloud, on a parfois besoin de supprimer beaucoup de zones DNS d’un coup. S’il faut en supprimer 1 500 à la main, avec vos mains et votre clavier, vous en avez pour la semaine. Je vais donc vous montrer comment le faire avec moins d’efforts sur un serveur Bind sous Linux, grâce à la puissance du 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
Vous pouvez enregistrer ce fichier sous le nom de votre choix, par exemple : removezone.sh
Rendez-le exécutable : chmod +x removezone.sh
C’est très simple :
- rootdir est le répertoire qui contient vos fichiers de configuration
- conf désigne votre fichier de configuration, par exemple named.conf ou *.conf
- zonedir est le répertoire dans lequel sont stockés vos fichiers de zone DNS (/var/lib/named/master, etc.)
Pour supprimer 1 000 zones, il suffit donc de mettre leurs noms dans un fichier texte, comme ceci :
toto.com
tata.com
titi.com
Une fois votre fichier prêt, lancez simplement
cat yourfile.txt |xargs -l ./removezone.sh ./removezone.sh yourdomain.comChristophe Casalegno
Vous pouvez me suivre sur : Twitter | Facebook | Linkedin | Telegram | Youtube

Laisser un commentaire
Ajouter un commentaire