这是通过DOCKER部署DDNS-GO后实现:
原理是IP1不通时自动切换到IP2,IP2不通时解析IP3域名IP后切换,IP3不通则退出
ip1="1.1.1.1"; ip2="1.1.1.2"; ip3="$(ping -c1 -W1 www.wjxy.net.cn | awk -F '[()]' '/PING/{print $2; exit}')"; ping -c5 -W1 "$ip1" >/dev/null && echo "$ip1" || (ping -c5 -W1 "$ip2" >/dev/null && echo "$ip2" || (ping -c5 -W1 "$ip3" >/dev/null && echo "$ip3" || exit 1))
下面是优化增加了判断原域名如果正常PING通就不用切换IP(相对来说使用起来更加稳定!!
ip0=”$(ping -c1 -W1 www.wjxy.net.cn 2>/dev/null | awk -F ‘[()]’ ‘/PING/{print $2; exit}’)”; ip1=”1.1.1.1″; ip2=”1.1.1.2″; ip3=”$(ping -c1 -W1 w2.wjxy.net.cn 2>/dev/null | awk -F ‘[()]’ ‘/PING/{print $2; exit}’)”; { [ -n “$ip0” ] && ping -c3 -W1 “$ip0” >/dev/null && echo “$ip0”; } || { ping -c3 -W1 “$ip1” >/dev/null && echo “$ip1”; } || { ping -c3 -W1 “$ip2” >/dev/null && echo “$ip2”; } || { [ -n “$ip3” ] && ping -c3 -W1 “$ip3” >/dev/null && echo “$ip3”; } || { echo “All IPs unreachable” >&2;}
