diff options
Diffstat (limited to 'vps/check_rdns_retry.sh')
-rwxr-xr-x | vps/check_rdns_retry.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/vps/check_rdns_retry.sh b/vps/check_rdns_retry.sh new file mode 100755 index 0000000..b11208b --- /dev/null +++ b/vps/check_rdns_retry.sh @@ -0,0 +1,27 @@ +#!/bin/bash +set -e +[ -f ".env" ] && source .env +LOGFILE="/home/doc/vpslogs/pending_rdns.log" +TMPFILE="/tmp/rdns_retry.log" + +touch "$TMPFILE" + +while IFS="|" read -r LINODE_ID IP LABEL; do + CURRENT_RDNS=$(dig -x "$IP" +short) + EXPECTED_RDNS="$LABEL.failzero.net." + + if [[ "$CURRENT_RDNS" == "$EXPECTED_RDNS" ]]; then + echo "✅ $IP already has correct rDNS ($CURRENT_RDNS)" + else + echo "⏳ rDNS not set correctly for $LABEL ($IP). Retrying..." + RESPONSE=$(curl -s -X PUT "https://api.linode.com/v4/linode/instances/$LINODE_ID/ips/$IP" \ + -H "Authorization: Bearer $LINODE_API_TOKEN" \ + -H "Content-Type: application/json" \ + -d '{"rdns": "'"$LABEL.failzero.net"'"}') + echo "🔁 Retry result for $IP: $RESPONSE" + fi + + echo "$LINODE_ID|$IP|$LABEL" >> "$TMPFILE" +done < "$LOGFILE" + +mv "$TMPFILE" "$LOGFILE" |