#!/bin/bash # info: delete remote dns domain record # options: USER DOMAIN ID # # The function synchronize dns with the remote server. #----------------------------------------------------------# # Variable&Function # #----------------------------------------------------------# # Argument defenition user=$1 domain=$2 id=$3 # Includes source $VESTA/func/main.sh source $VESTA/func/remote.sh source $VESTA/conf/vesta.conf #----------------------------------------------------------# # Verifications # #----------------------------------------------------------# check_args '3' "$#" 'USER DOMAIN ID' validate_format 'user' 'domain' 'id' is_system_enabled "$DNS_CLUSTER" 'DNS_CLUSTER' if [ ! -e "$VESTA/conf/dns-cluster.conf" ]; then echo "Error: dns-cluster.conf doesn't exist" log_event "$E_NOTEXIST $EVENT" exit $E_NOTEXIST fi number_of_proc=$(ps auxf | grep -v grep | grep $VESTA/bin/$SCRIPT | wc -l) if [ "$number_of_proc" -gt 2 ]; then echo "Error: another sync process already exists" log_event "$E_EXISTS $EVENT" exit $E_EXISTS fi #----------------------------------------------------------# # Action # #----------------------------------------------------------# old_ifs="$IFS" IFS=$'\n' # Starting cluster loop for cluster_str in $(cat $VESTA/conf/dns-cluster.conf); do # Get host values eval $cluster_str # Check connection type if [ -z "TYPE" ]; then TYPE='api' fi # Switch on connection type case $TYPE in ssh) send_cmd="send_ssh_cmd" ;; *) send_cmd="send_api_cmd" ;; esac # Check host connection $send_cmd v-list-sys-config if [ $? -ne 0 ]; then echo "Error: $TYPE connection to $HOST failed" log_event "$E_CONNECT $EVENT" exit $E_CONNECT fi # Check recipient dns user if [ -z "$DNS_USER" ]; then DNS_USER='dns-cluster' fi $send_cmd v-list-user $DNS_USER if [ $? -ne 0 ]; then echo "Error: dns user $DNS_USER doesn't exist" log_event "$E_NOTEXIST $EVENT" exit $E_NOTEXIST fi # Sync domain $send_cmd v-delete-dns-record $DNS_USER $domain $id 'scheduled' done # Update pipe pipe="$VESTA/data/queue/dns-cluster.pipe" str=$(grep -n "$SCRIPT $1 $2 $3$" $pipe | cut -f1 -d: | head -n1) if [ ! -z "$str" ]; then sed -i "$str d" $pipe fi #----------------------------------------------------------# # Vesta # #----------------------------------------------------------# exit