C’est la commande Shell du jour, dans le cadre d’une migration dns Bind, j’ai besoin de mettre à jour le numéro de série de l’ensemble des zones présentes sur le serveur. Lorsque l’on fait une recherche sur internet sur le sujet, difficile de trouver moins qu’un script shell d’une dizaine de lignes.
Or il est possible simplement à l’aide de sed et le combinant à l’utilisation d’une expression régulière simple de répondre à cette demande simplement en une courte ligne. Il suffit de soit se positionner dans le répertoire qui contient vos fichiers de zones primaires soit de l’indiquer dans le chemin final, et d’utiliser la commande sed à bon escient.
sed -i -e “s/2[0-9]\{9\}/votrenumerodeserie/g” Chemin_vers_vos_fichiers_de_zone/*.hosts
Exemple :
sed -i -e “s/2[0-9]\{9\}/2012011901/g” /var/lib/named/var/named/master/*.hosts
Ca y est, c’est fait, vous pouvez redémarrer Bind (Comme il vous plaira, service named restart, /etc/init.d/named restart, killall -HUP named…)
Vous pouvez si vous le souhaitez, également utiliser date pour formater de manière automatique un numéro de série du jour si vous êtes dans le cadre de la mise en place d’une tâche automatique par exemple.
–
Christophe Casalegno
http://twitter.com/Brain_0verride
http://www.facebook.com/brain.override