summaryrefslogtreecommitdiff
path: root/vps/check_rdns_retry.sh
diff options
context:
space:
mode:
authordoc <doc@filenotfound.org>2025-06-30 20:14:17 +0000
committerdoc <doc@filenotfound.org>2025-06-30 20:14:17 +0000
commita8cd1c324c0541b0d26542168aeced085ec13201 (patch)
treea99d398008b46aa4df5dcae997e1690298d2fc70 /vps/check_rdns_retry.sh
initial failzero commitHEADmaster
Diffstat (limited to 'vps/check_rdns_retry.sh')
-rwxr-xr-xvps/check_rdns_retry.sh27
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"