diff --git a/bin/v-insert-dns-domain b/bin/v-insert-dns-domain index 11308d3d..2f928f4e 100755 --- a/bin/v-insert-dns-domain +++ b/bin/v-insert-dns-domain @@ -19,6 +19,7 @@ restart=$5 # Includes source $VESTA/conf/vesta.conf source $VESTA/func/main.sh +source $VESTA/func/domain.sh #----------------------------------------------------------# @@ -30,6 +31,9 @@ validate_format 'user' 'data' is_system_enabled "$DNS_SYSTEM" 'DNS_SYSTEM' is_object_valid 'user' 'USER' "$user" is_object_unsuspended 'user' 'USER' "$user" +eval $data +domain="$DOMAIN" +is_domain_new 'dns' #----------------------------------------------------------# @@ -37,7 +41,6 @@ is_object_unsuspended 'user' 'USER' "$user" #----------------------------------------------------------# # Prepare values for the insert -eval $data 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'" diff --git a/bin/v-sync-dns-cluster b/bin/v-sync-dns-cluster index 3a0b7141..9783d88e 100755 --- a/bin/v-sync-dns-cluster +++ b/bin/v-sync-dns-cluster @@ -111,6 +111,9 @@ for cluster_str in $hosts; do done # Clean source records + if [ ! -z "$verbose" ]; then + echo "STATUS: Wiping dns domains" + fi $send_cmd v-delete-dns-domains-src $DNS_USER $HOSTNAME no if [ $? -ne 0 ]; then echo "Error: $TYPE connection to $HOST failed (cleanup)" @@ -125,21 +128,30 @@ for cluster_str in $hosts; do for str in $(cat $VESTA/data/users/$user/dns.conf); do eval $str if [ ! -z "$verbose" ]; then - echo "DOMAIN: $DOMAIN" + echo "DOMAIN: $DOMAIN index" fi $send_cmd v-insert-dns-domain $DNS_USER "$str" $HOSTNAME + if [ $? -eq 0 ]; then + if [ ! -z "$verbose" ]; then + echo "DOMAIN: $DOMAIN records" + fi - # Sync record - if [ "$TYPE" = 'ssh' ]; then - tmp=$(mktemp -u) - scp_cmd $USER_DATA/$user/dns/$DOMAIN.conf $tmp - $send_cmd v-insert-dns-records $DNS_USER $DOMAIN $tmp + # Sync record + if [ "$TYPE" = 'ssh' ]; then + tmp=$(mktemp -u) + scp_cmd $USER_DATA/$user/dns/$DOMAIN.conf $tmp + $send_cmd v-insert-dns-records $DNS_USER $DOMAIN $tmp + else + for str in $(cat $USER_DATA/$user/dns/$DOMAIN.conf); do + str=$(echo "$str" | sed 's/"/\\"/g') + $send_cmd v-insert-dns-record \ + $DNS_USER $DOMAIN "$str" + done + fi else - for str in $(cat $USER_DATA/$user/dns/$DOMAIN.conf); do - str=$(echo "$str" | sed 's/"/\\"/g') - $send_cmd v-insert-dns-record \ - $DNS_USER $DOMAIN "$str" - done + if [ ! -z "$verbose" ]; then + echo "DOMAIN: $DOMAIN skiping records (not uniq)" + fi fi done done