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.