summaryrefslogtreecommitdiff
path: root/check_rdns_retry.sh
blob: b11208b6650592ee88810d480f444bf3babf1535 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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"