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