33800 Docs

← Retour
#!/bin/bash # =========================================== # Supprime un enregistrement DNS # Usage: ./delete-record.sh <line_number> # =========================================== set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/../lib/config.sh" source "$SCRIPT_DIR/../lib/colors.sh" source "$SCRIPT_DIR/../lib/utils.sh" if [ -z "$1" ]; then echo "Usage: $0 <line_number>" echo "" echo "Utilisez './list-records.sh' pour voir les numéros de ligne" exit 1 fi LINE="$1" print_header "Suppression enregistrement DNS" # Récupérer l'info de l'enregistrement avant suppression log_step "Récupération des informations..." RECORD_INFO=$(curl -s -u "$O2SWITCH_USERNAME:$O2SWITCH_PASSWORD" \ "$O2SWITCH_API_URL/json-api/cpanel?cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=fetchzone&domain=$O2SWITCH_DOMAIN" | \ jq -r ".cpanelresult.data[0].record[] | select(.line == $LINE) | \"\(.name) (\(.type)) -> \(.address // .cname // .txtdata)\"" 2>/dev/null) if [ -z "$RECORD_INFO" ]; then log_error "Enregistrement ligne $LINE non trouvé" exit 1 fi log_warn "Enregistrement à supprimer:" echo " $RECORD_INFO" echo "" if ! confirm "Confirmer la suppression ?"; then log_info "Annulé" exit 0 fi # Supprimer l'enregistrement log_step "Suppression en cours..." RESULT=$(curl -s -u "$O2SWITCH_USERNAME:$O2SWITCH_PASSWORD" \ "$O2SWITCH_API_URL/json-api/cpanel?cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=remove_zone_record&domain=$O2SWITCH_DOMAIN&line=$LINE") if echo "$RESULT" | grep -q '"status":1'; then log_success "Enregistrement supprimé" else log_error "Échec de la suppression" echo "$RESULT" | jq '.cpanelresult.data[0].statusmsg' 2>/dev/null exit 1 fi