mail backups were getting in a loop, i think this fixes
[distro-setup] / dynamic-ip-update
index 1e7880274c3a57a6801d930a20e3a1ded1b27dc0..1e6cabbf0fce19f9118596b3aec207ec18e22c25 100755 (executable)
@@ -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