| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #!/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
|