#!/bin/bash SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" 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}" 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}" if [ "${WAN_IP}" == "${DNS_IP}" ]; then echo "IPs match - nothing to do." exit 0 else if [ "${LAST_IP}" == "${WAN_IP}" ]; then 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} if [ "$?" == "0" ]; then echo "Save UPDATE_IP." echo "${WAN_IP}" > ${LAST_IP_FILE} fi fi fi