Changeset 680 for src/do_domaines.sh


Ignore:
Timestamp:
02/22/06 01:31:11 (7 years ago)
Author:
anarcat
Message:

[project @ alternc: changeset 2005-05-24 17:54:31 by anarcat]
ne pas utiliser le template mx pour modifier_mx_domaine et utiliser un
seul sed au lieu d'une horrible combinaison de head, tail et grep

Original author: anarcat
Date: 2005-05-24 17:54:31

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/do_domaines.sh

    r679 r680  
    11#!/bin/ksh 
    22# 
    3 # $Id: do_domaines.sh,v 1.19 2005/05/24 17:41:06 anarcat Exp $ 
     3# $Id: do_domaines.sh,v 1.20 2005/05/24 17:54:31 anarcat Exp $ 
    44# ---------------------------------------------------------------------- 
    55# AlternC - Web Hosting System 
     
    5757SLAVE_TPL=slave.template 
    5858SECONDARY_LIST=secondary.list 
    59 NAMED_MX_TPL=mx.template 
    6059NAMED_CONF=automatic.conf 
    6160RELOAD_NAMED=/etc/init.d/bind9 
     
    338337#--------------- 
    339338# Modification du champ mx. 
    340 # prend domaine et champ mx 
     339 
     340  # prend domaine et champ mx 
    341341# en arguments. 
    342342#--------------- 
    343343function modifier_mx_domaine 
    344344{ 
     345    DOM=$1 
     346    MX=$2 
     347    PAT="^[[:space:]]*IN[[:space:]]*MX[[:space:]]*\([[:digit:]]*\)?[[:space:]].*$" 
     348    MXLINE="    IN      MX      5       $MX" 
    345349    # aller chercher le numéro de la ligne MX 
    346350    # XXX: comportement inconnu si plusieurs matchs ou MX commenté 
    347     nb1=`$grep -n "MX" "$NAMED_MASTER/${1}" | $cut -d":" -f1` 
    348     nb1=$nb1-1 
    349  
    350     # aller chercher tout ce qui est avant le MX 
    351     $head -n$nb1 "$NAMED_MASTER/${1}" > "$NAMED_MASTER/${1}".tmp 
    352  
    353     # regénérer la ligne MX correct du template 
    354     $sed s/"@@MX@@"\.\*/"${2}"\./g >> "$NAMED_MASTER/${1}.tmp" < $NAMED_MASTER/$NAMED_MX_TPL 
    355  
    356     # le nombre de lignes total du fichier 
    357     nb2=`$wc -l "$NAMED_MASTER/${1}" | $awk {'print $1'}` 
    358  
    359     # le nombre de lignes *après* le MX 
    360     nb2=$nb2-$nb1-1 
    361  
    362     # on rajoute la fin du fichier 
    363     $tail -n$nb2 "$NAMED_MASTER/${1}" >> "$NAMED_MASTER/${1}.tmp" 
    364     $mv -f "$NAMED_MASTER/${1}.tmp" "$NAMED_MASTER/${1}" 
     351    if $grep -q $PAT "$NAMED_MASTER/$DOM" 
     352    then 
     353        sed "s/$PAT/$MXLINE/" < "$NAMED_MASTER/$DOM" > "$NAMED_MASTER/$DOM.$$" && \ 
     354        mv "$NAMED_MASTER/$DOM".$$ "$NAMED_MASTER/$DOM" 
     355    else 
     356        echo $MXLINE >> "$NAMED_MASTER/$DOM" 
     357    fi 
    365358 
    366359    increment_serial "$NAMED_MASTER/${1}" 
Note: See TracChangeset for help on using the changeset viewer.