diff --git a/bin/v-add-dns-domain b/bin/v-add-dns-domain index 582db2382..8224543e9 100755 --- a/bin/v-add-dns-domain +++ b/bin/v-add-dns-domain @@ -146,7 +146,7 @@ chown root:$dns_group $conf # dns-cluster if [ ! -z "$DNS_CLUSTER" ]; then - cmd="$BIN/v-add-remote-dns-domain $user $domain" + cmd="$BIN/v-add-remote-dns-domain $user $domain no" echo "$cmd" >> $VESTA/data/queue/dns-cluster.pipe fi diff --git a/bin/v-add-remote-dns-domain b/bin/v-add-remote-dns-domain index 72c6e9d1e..1b5609b40 100755 --- a/bin/v-add-remote-dns-domain +++ b/bin/v-add-remote-dns-domain @@ -1,6 +1,6 @@ #!/bin/bash # info: add remote dns domain -# options: USER DOMAIN +# options: USER DOMAIN [FLUSH] # # The function synchronize dns domain with the remote server. @@ -12,6 +12,7 @@ # Argument defenition user=$1 domain=$2 +flush=$3 # Includes source $VESTA/func/main.sh @@ -23,7 +24,7 @@ source $VESTA/conf/vesta.conf # Verifications # #----------------------------------------------------------# -check_args '2' "$#" 'USER DOMAIN' +check_args '2' "$#" 'USER DOMAIN [FLUSH]' validate_format 'user' 'domain' is_system_enabled "$DNS_CLUSTER" 'DNS_CLUSTER' @@ -89,10 +90,13 @@ for cluster_str in $search_str; do DNS_CLUSTER_IGNORE='dns-cluster' fi + # Check flush parameters + # Sync domain str=$(grep "DOMAIN='$domain'" $USER_DATA/dns.conf) eval $str - $send_cmd v-insert-dns-domain $DNS_USER "$str" $HOSTNAME 'flush' 'no' + + $send_cmd v-insert-dns-domain $DNS_USER "$str" $HOSTNAME "$flush" 'no' if [ $? -eq 0 ]; then # Sync records if [ "$TYPE" = 'ssh' ]; then @@ -120,12 +124,11 @@ done # Update pipe rm -f $tmpfile pipe="$VESTA/data/queue/dns-cluster.pipe" -str=$(grep -n "$SCRIPT $1 $2$" $pipe | cut -f1 -d: | head -n1) +str=$(grep -n "$SCRIPT $1 $2 " $pipe | cut -f1 -d: | head -n1) if [ ! -z "$str" ]; then sed -i "$str d" $pipe fi - #----------------------------------------------------------# # Vesta # #----------------------------------------------------------# diff --git a/bin/v-change-dns-domain-ip b/bin/v-change-dns-domain-ip index ec51ae22a..da4aa1fbe 100755 --- a/bin/v-change-dns-domain-ip +++ b/bin/v-change-dns-domain-ip @@ -57,7 +57,7 @@ if [ ! -z "$DNS_CLUSTER" ]; then # Check for first sync dlock=$(grep "domain $user $domain" $VESTA/data/queue/dns-cluster.pipe) if [ -z "$dlock" ]; then - cmd="$BIN/v-add-remote-dns-domain $user $domain" + cmd="$BIN/v-add-remote-dns-domain $user $domain domain" echo "$cmd" >> $VESTA/data/queue/dns-cluster.pipe fi fi diff --git a/bin/v-change-dns-domain-tpl b/bin/v-change-dns-domain-tpl index 504f9b89e..d245a548b 100755 --- a/bin/v-change-dns-domain-tpl +++ b/bin/v-change-dns-domain-tpl @@ -75,7 +75,7 @@ if [ ! -z "$DNS_CLUSTER" ]; then # Check for first sync dlock=$(grep "domain $user $domain" $VESTA/data/queue/dns-cluster.pipe) if [ -z "$dlock" ]; then - cmd="$BIN/v-add-remote-dns-domain $user $domain" + cmd="$BIN/v-add-remote-dns-domain $user $domain domain" echo "$cmd" >> $VESTA/data/queue/dns-cluster.pipe fi fi diff --git a/bin/v-change-dns-record b/bin/v-change-dns-record index 8fed2ca32..0bb97028e 100755 --- a/bin/v-change-dns-record +++ b/bin/v-change-dns-record @@ -68,7 +68,7 @@ if [ ! -z "$DNS_CLUSTER" ]; then # Check for first sync dlock=$(grep "domain $user $domain" $VESTA/data/queue/dns-cluster.pipe) if [ -z "$dlock" ]; then - cmd="$BIN/v-add-remote-dns-domain $user $domain" + cmd="$BIN/v-add-remote-dns-domain $user $domain records" echo "$cmd" >> $VESTA/data/queue/dns-cluster.pipe fi fi diff --git a/bin/v-change-dns-record-id b/bin/v-change-dns-record-id index 7daeb5fa1..e5cf6aa31 100755 --- a/bin/v-change-dns-record-id +++ b/bin/v-change-dns-record-id @@ -57,7 +57,7 @@ if [ ! -z "$DNS_CLUSTER" ]; then # Check for first sync dlock=$(grep "domain $user $domain" $VESTA/data/queue/dns-cluster.pipe) if [ -z "$dlock" ]; then - cmd="$BIN/v-add-remote-dns-domain $user $domain" + cmd="$BIN/v-add-remote-dns-domain $user $domain records" echo "$cmd" >> $VESTA/data/queue/dns-cluster.pipe fi fi diff --git a/bin/v-insert-dns-domain b/bin/v-insert-dns-domain index d8b1017d9..cdd98de66 100755 --- a/bin/v-insert-dns-domain +++ b/bin/v-insert-dns-domain @@ -33,27 +33,36 @@ is_object_valid 'user' 'USER' "$user" is_object_unsuspended 'user' 'USER' "$user" eval $data domain="$DOMAIN" -is_domain_new 'dns' +if [ "$flush" = 'no' ]; then + is_domain_new 'dns' +fi #----------------------------------------------------------# # Action # #----------------------------------------------------------# +# Flush records +if [ "$flush" = 'records' ]; then + rm -f $USER_DATA/dns/$DOMAIN.conf + touch $USER_DATA/dns/$DOMAIN.conf + chmod 660 $USER_DATA/dns/$DOMAIN.conf + exit +fi + +# Flush domain +if [ "$flush" = 'domain' ]; then + sed -i "/DOMAIN='$DOMAIN'/d" $USER_DATA/dns.conf 2> /dev/null +fi + # Prepare values for the insert dns_rec="DOMAIN='$DOMAIN' IP='$IP' TPL='$TPL' TTL='$TTL' EXP='$EXP'" dns_rec="$dns_rec SOA='$SOA' SRC='$src' RECORDS='$RECORDS'" dns_rec="$dns_rec SUSPENDED='$SUSPENDED' TIME='$TIME' DATE='$DATE'" -sed -i "/DOMAIN='$DOMAIN'/d" $USER_DATA/dns.conf 2> /dev/null echo "$dns_rec" >> $USER_DATA/dns.conf -chmod 660 $USER_DATA/dns.conf -# Flush dns records -if [ "$flush" != 'no' ]; then - rm -f $USER_DATA/dns/$DOMAIN.conf - touch $USER_DATA/dns/$DOMAIN.conf - chmod 660 $USER_DATA/dns/$DOMAIN.conf -fi +# Set permission +chmod 660 $USER_DATA/dns.conf #----------------------------------------------------------#