diff --git a/HowtoBind.md b/HowtoBind.md index eaf7b676..4172ed10 100644 --- a/HowtoBind.md +++ b/HowtoBind.md @@ -610,4 +610,26 @@ server 192.0.2.53 { edns no; }; Voir +### Mise a jour du serial + +Vous devez repérer un pattern unique sur la ligne du serial, par exemple `; serial` + + +On peut ainsi mettre à jour le serial d'une zone : + +~~~ +$ serial=$(date "+%Y%m%d%H") +$ sed -i "s/^\([ \t]*\)[0-9]\{10\}\([ \t]*; serial\)/\1$serial\2/" db.example.com +~~~ + +Si l'on doit automatiser, on utilisera les commandes suivantes pour prendre en compte plusieurs modifications le même jour : + +~~~ +zonefile=db.example.com +serial=$(grep -E '[ \t]*[0-9]{10}\s*; serial' $zonefile | sed "s/[ \t]*\([0-9]\{10\}\)[ \t]*; serial/\1/") +if [ `date "+%Y%m%d%H"` -gt $serial ]; then serial=$(date "+%Y%m%d%H"); else serial=$(( $serial + 1 )); fi +sed -i "s/^\([ \t]*\)[0-9]\{10\}\([ \t]*; serial\)/\1$serial\2/" $zonefile +~~~ + +