diff --git a/update_ip.sh b/update_ip.sh index 199f5db..9a742e0 100755 --- a/update_ip.sh +++ b/update_ip.sh @@ -1,11 +1,19 @@ #!/bin/sh +ping -qc 1 "${server}" > /dev/null +if [ ${?} != 0 ]; then + # We are offline + exit +fi + cache=.update_ip.cache server=ns1.example.com zone=dyn.example.com host=desktop secret="" -iface=$( ip route get $( dig +short ${server} | grep [0-9] ) | grep -Po '(?<=(dev ))(\S+)' ) + +server_ip=$( dig +short ${server} | grep [0-9] | head -1 ) +iface=$( ip route get ${server_ip} | grep -Po '(?<=(dev ))(\S+)' ) # TODO trigger not via cron, but using ip monitor in a while/sleep loop: #ip monitor address dev ${iface} | while read event; do