X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=dynamic-ip-update;h=b7c60f520eb23904c7684414d735f7bd8b91e520;hb=935d88c091765b6aafdfc9f3d62d0dc377e5ff93;hp=4b5983fbed4153e5c9b7a57d3203863b2093393f;hpb=12cab163424e3a7b0815646d1d4407f9b5839bcb;p=distro-setup diff --git a/dynamic-ip-update b/dynamic-ip-update index 4b5983f..b7c60f5 100755 --- a/dynamic-ip-update +++ b/dynamic-ip-update @@ -1,8 +1,6 @@ #!/bin/bash source ~/.bashrc - - main() { fqdn=$(hostname -f) @@ -46,7 +44,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 @@ -126,20 +129,20 @@ EOF } -if [[ $INVOCATION_ID ]]; then - # this is to prevent systemd from filling up the journal - for (( runcount=0; runcount < 100; runcount++ )); do +loop-main() { + while true; do main sleep 30 done +} + + +if [[ $INVOCATION_ID ]]; then + loop-main else main fi - - - - exit 0