Aggiornamento di record DNS in Technitium DNS

From RVM Wiki
Jump to navigation Jump to search

Con lo script:

#!/bin/bash

# 1. Controllo che la variabile TOKEN sia definita e non vuota
if [ -z "$TOKEN" ]; then
    echo "ERRORE: La variabile d'ambiente \$TOKEN non è definita."
    echo "Esegui: export TOKEN='tuo_token_qui' prima di lanciare lo script."
    exit 1
fi

# Controllo parametri
if [ "$#" -ne 3 ]; then
    echo "Utilizzo: $0 <fqdn> <vecchio_ip> <nuovo_ip>"
    echo "Esempio: $0 test.example.com 1.2.3.4 5.6.7.8"
    exit 1
fi

FQDN=$1
OLD_IP=$2
NEW_IP=$3

# Estrazione del dominio (ultime due parti: es. studio-mauri.it)
DOMAIN=$(echo "$FQDN" | awk -F. '{print $(NF-1)"."$NF}')

echo "--- Esecuzione Update Technitium ---"
echo "Zona:    $DOMAIN"
echo "Record:  $FQDN"
echo "IP:      $OLD_IP -> $NEW_IP"
echo "------------------------------------"

curl -ks  \
"https://dns1.rvmgroup.it/api/zones/records/update\
?token=$TOKEN\
&domain=$FQDN\
&zone=$DOMAIN\
&type=A\
&value=$OLD_IP\
&newValue=$NEW_IP" | jq

Si possono aggiornare record DNS indicando esattamente l vecchio valore ed il nuovo, ad esempio: se si vuole cambiare

mx1.example.com da 1.2.3.4 a 5.6.7.8

export TOKEN="7dd309b596ece532a586f963f7e1e9ae9854fa3791ea2c02c3c82a6ef30f763c
curl -ks  \
"https://dns1.rvmgroup.it/api/zones/records/update\
?token=$TOKEN\
&domain=mx2.example.com\
&zone=example.com\
&type=A\
&value=1.2.3.4\
&newValue=5.6.7.8" | jq

Se il valore vecchio non coincide, fallisce.