X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=dynamic-ip-update;h=1e6cabbf0fce19f9118596b3aec207ec18e22c25;hb=ea108a03dfa2d7f73447c0b14210d766e5ee5d9b;hp=1e7880274c3a57a6801d930a20e3a1ded1b27dc0;hpb=b18dade73dedfe69aa741f8417947d83c4208f2d;p=distro-setup diff --git a/dynamic-ip-update b/dynamic-ip-update index 1e78802..1e6cabb 100755 --- a/dynamic-ip-update +++ b/dynamic-ip-update @@ -1,8 +1,6 @@ #!/bin/bash source ~/.bashrc - - main() { fqdn=$(hostname -f) @@ -13,13 +11,16 @@ main() { up4=false - if ! read -r _ _ gateway _ ifdev _ < <(ip -4 route get 85.119.83.50 2>/dev/null); then - # if our internet is down, just give up, no need to have an error - if [[ ! $INVOCATION_ID ]]; then + if ! tmp=$(ip -4 route get 85.119.83.50 2>/dev/null); then + # our internet is down + if [[ $INVOCATION_ID ]]; then + return 0 + else echo $0: failed to get route, giving up + exit 0 fi - exit 0 fi + read -r _ _ gateway _ ifdev _ <<<"$tmp" case $gateway in 10.2.0.1) @@ -46,7 +47,12 @@ main() { if $athome; then - cur4="$(dig +short $dynhost @iankelling.org | tail -1)" + if ! cur4="$(dig +short $dynhost @iankelling.org | tail -1)"; then + if [[ ! $INVOCATION_ID ]]; then + echo "$0: dig failed. internet looks down. giving up" + fi + return 0 + fi if ip4=$(curl -s4 https://iankelling.org/cgi/pubip); then if [[ $cur4 && $ip4 && $cur4 != $ip4 ]]; then up4=true # update ipv4 @@ -165,7 +171,7 @@ exit 0 # # push here? # #myunison -ob li # #ssh li conflink -# ssh li.b8.nz systemctl reload bind9 +# ssh li.b8.nz systemctl reload named # # b8.nz has address 65.96.178.16