Script bash pour modifier le TTL de toutes les zones d’un serveur bind

On veut changer le TTL de toutes les zones d’un serveur bind en prévision d’une migration. Donc nous allons fixer le TTL à 300 pour un propagation DNS plus rapide

Script bash pour modifier le TTL de toutes les zones d’un serveur bind

On veut changer le TTL de toutes les zones d’un serveur bind en prévision d’une migration. Donc nous allons fixer le TTL à 300 pour un propagation DNS plus rapide.

Puis il nous faut changer le serial de la zone en l’incrémentant de 1.

Variables :
chemin des zones = /etc/bind/pri

Script :

#/bin/bash

#on parcours tous les fichiers .hosts

for file in /etc/bind/pri/*.hosts
do

#On récupère le serial (a la ligne 3) puis on enlève les caractères « vide »

serial=$(sed -n ‘3p’ « $file » | awk ‘{$1=$1}{ print }’)

#On incrémente notre serial

new_serial=$((serial+1))

#test pour récupérer le TTL

ttl=$(awk ‘NR==1{print $1,$2}’ « $file »)

echo « $file »
echo « Ancien serial = «  »$serial »
echo « Nouveau serial = «  »$new_serial »
echo « TTL = «  »$ttl »

#On remplace le ttl par le nouveau

sed -i ‘s/$ttl 86400/$ttl 300/g’ « $file »

#On remplace le serial par le nouveau

sed -i « s/$serial/$new_serial/g » « $file »
done

Voilà il ne reste plus qu’a redémarrer le service bind.

0 Commentaires 0 Commentaires
0 Commentaires 0 Commentaires