bin-there-done-that/miscellaneous/vps/check_rdns_retry.sh

28 lines
837 B
Bash
Executable File

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