summaryrefslogtreecommitdiff
path: root/check_rdns_retry.sh
diff options
context:
space:
mode:
Diffstat (limited to 'check_rdns_retry.sh')
-rwxr-xr-xcheck_rdns_retry.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/check_rdns_retry.sh b/check_rdns_retry.sh
new file mode 100755
index 0000000..b11208b
--- /dev/null
+++ b/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"