Adds handling of *.domain.tld updates + some more checks + can now accept domain as first parameter
This commit is contained in:
24
ddns.sh
24
ddns.sh
@@ -1,17 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
DOMAIN="geek-blog.de"
|
||||
|
||||
|
||||
SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
||||
|
||||
LAST_IP=$(cat /tmp/lastIp)
|
||||
DOMAIN="$1"
|
||||
echo "DOMAIN -------------------> ${DOMAIN}"
|
||||
|
||||
LAST_IP_FILE="/tmp/lastIp-${DOMAIN}"
|
||||
LAST_IP=""
|
||||
if [ -f "${LAST_IP_FILE}" ]; then
|
||||
LAST_IP=$(cat ${LAST_IP_FILE})
|
||||
fi
|
||||
echo "Last UPDATE-IP -----------> ${LAST_IP}"
|
||||
|
||||
WAN_IP=$(${SCRIPTPATH}/easyBoxCtrl.sh wan ip 2>/dev/null)
|
||||
echo "Current WAN-IP -----------> ${WAN_IP}"
|
||||
|
||||
DNS_IP=$(dig +short ${DOMAIN})
|
||||
PROBE_DOMAIN="${DOMAIN}"
|
||||
if [[ "${PROBE_DOMAIN}" == \*.* ]]; then
|
||||
PROBE_DOMAIN="probe.${PROBE_DOMAIN:2}"
|
||||
echo "Probe domain is ----------> ${PROBE_DOMAIN}"
|
||||
fi
|
||||
DNS_IP=$(dig +short ${PROBE_DOMAIN})
|
||||
echo "Current DNS-IP -----------> ${DNS_IP}"
|
||||
|
||||
|
||||
@@ -23,12 +32,11 @@ else
|
||||
echo "Last update IP matches WAN-IP - waiting for DNS to propagate changes."
|
||||
else
|
||||
echo "IP mismatch - trying to update A-record(s)..."
|
||||
#$SCRIPTPATH/unitedDomainsCtrl.sh ${DOMAIN} ${WAN_IP}
|
||||
$SCRIPTPATH/unitedDomainsCtrl.sh *.${DOMAIN} ${WAN_IP}
|
||||
$SCRIPTPATH/unitedDomainsCtrl.sh ${DOMAIN} ${WAN_IP}
|
||||
|
||||
if [ "$?" == "0" ]; then
|
||||
echo "Save UPDATE_IP."
|
||||
echo "${WAN_IP}" > /tmp/lastIp
|
||||
echo "${WAN_IP}" > ${LAST_IP_FILE}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user