28 lines
837 B
Bash
28 lines
837 B
Bash
|
#!/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"
|