Sync only uniq domains

This commit is contained in:
Serghey Rodin 2013-10-07 21:32:55 +03:00
commit f087a7402a
2 changed files with 27 additions and 12 deletions

View file

@ -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'"

View file

@ -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