fixes
[distro-setup] / dynamic-ip-update
index 4b5983fbed4153e5c9b7a57d3203863b2093393f..b7c60f520eb23904c7684414d735f7bd8b91e520 100755 (executable)
@@ -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