mkdomain
changeset 8 a1eefce2bd5e
parent 7 9cad6f1c5505
equal deleted inserted replaced
7:9cad6f1c5505 8:a1eefce2bd5e
    10 if test $# -lt 2; then
    10 if test $# -lt 2; then
    11 	echo "usage: $0 kundennummer domain..." >&2
    11 	echo "usage: $0 kundennummer domain..." >&2
    12 	exit
    12 	exit
    13 fi
    13 fi
    14 
    14 
    15 
       
    16 customer="$1"; shift
    15 customer="$1"; shift
    17 start=$(date -I)
    16 start=$(date -I)
    18 
    17 
    19 # config
    18 # config
    20 source dnstools.conf
    19 source dnstools.conf
    21 
    20 
    22 secondary=$SECONDARY
    21 secondary=$SECONDARY
    23 secondary_ip=${secondary_ip=$(dig +short $secondary)}
    22 secondary_ip=${SECONDARY_IP:-$(dig +short $secondary)}
    24 
    23 
    25 this_host=${THIS_HOST:-$(hostname -f)}
    24 this_host=${THIS_HOST:-$(hostname -f)}
    26 this_ip=${THIS_IP:-$(hostname -i)}
    25 this_ip=${THIS_IP:-$(hostname -i)}
    27 this_domain=${THIS_DOMAIN:-$(hostname -d)}
    26 this_domain=${THIS_DOMAIN:-$(hostname -d)}
    28 primary=${PRIMARY:-$this_host}
    27 primary=${PRIMARY:-$this_host}
    29 
    28 
    30 hostmaster=${hostmaster="hostmaster.$this_domain"}
    29 hostmaster=${HOSTMASTER:-"hostmaster.$this_domain"}
    31 
    30 
    32 primary_dir=${primary_dir=/etc/bind/zones.d}
    31 zone_conf_dir=${ZONE_CONF_DIR:-/etc/bind/zones.d}
    33 master_dir=${master_dir=/etc/bind/master}
    32 master_dir=${MASTER_DIR:-/etc/bind/master}
    34 
    33 
    35 test -d $primary_dir || mkdir $primary_dir
    34 if [ ! -d $master_dir ]
    36 test -d $master_dir || mkdir $master_dir
    35 then
       
    36 	echo $master_dir nicht gefunden
       
    37 	exit 1
       
    38 fi
    37 
    39 
       
    40 if [ ! -d $zone_conf_dir ]
       
    41 then
       
    42 	echo $zone_conf_dir nicht gefunden
       
    43 	exit 1
       
    44 fi
    38 
    45 
    39 # debug option
    46 # debug option
    40 if test $opt_debug; then
    47 if test $opt_debug; then
    41 	cat <<xxx
    48 	cat <<xxx
    42 this host:		$this_host [$this_ip]
    49 this host:		$this_host [$this_ip]
    43 this domain:		$this_domain
    50 this domain:		$this_domain
    44 primary:		$primary
    51 primary:		$primary
    45 secondary:		$secondary [$secondary_ip]
    52 secondary:		$secondary [$secondary_ip]
    46 hostmaster:		$hostmaster
    53 hostmaster:		$hostmaster
    47 primary directory:	$primary_dir
    54 zone config directory:	$zone_conf_dir
    48 xxx
    55 xxx
    49 	exit
    56 	exit
    50 fi
    57 fi
    51 
    58 
    52 for utf8domain in "$@"; do
    59 for utf8domain in "$@"; do
    53 	domain=$(idn --quiet "$utf8domain")
    60 	domain=$(idn --quiet "$utf8domain")
    54 
    61 
    55 	test -d $master_dir/$domain || mkdir $master_dir/$domain
    62 	test -d $master_dir/$domain || mkdir $master_dir/$domain
    56 
    63 
    57 	zonefile=$master_dir/$domain/$domain
    64 	zonefile=$master_dir/$domain/$domain
    58 	config=$primary_dir/$domain
    65 	config=$zone_conf_dir/$domain
    59 
    66 
    60 	echo "$domain ($utf8domain)"
    67 	echo "$domain ($utf8domain)"
    61 
    68 
    62 	test -f $zonefile && { echo "$zonefile exists. Skipping $domain" >&2; continue; }
    69 	test -f $zonefile && { echo "$zonefile exists. Skipping $domain" >&2; continue; }
    63 	test -f $config && { echo "$config exists. Skipping $domain" >&2; continue; }
    70 	test -f $config && { echo "$config exists. Skipping $domain" >&2; continue; }