diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile index af14e5395..add0ee822 100644 --- a/net/ddns-scripts/Makefile +++ b/net/ddns-scripts/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ddns-scripts PKG_VERSION:=1.0.0 -PKG_RELEASE:=10 +PKG_RELEASE:=11 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) diff --git a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh b/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh index 0e2ab7fad..19effeffa 100644 --- a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh +++ b/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh @@ -122,3 +122,10 @@ start_daemon_for_all_ddns_sections() /usr/lib/ddns/dynamic_dns_updater.sh $section 0 > /dev/null 2>&1 & done } + +monotonic_time() +{ + local uptime + read uptime < /proc/uptime + echo "${uptime%%.*}" +} diff --git a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh b/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh index 1cab8aa7d..a58b30729 100755 --- a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh +++ b/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh @@ -206,7 +206,7 @@ echo $$ > /var/run/dynamic_dns/$service_id.pid #determine when the last update was -current_time=$(date +%s) +current_time=$(monotonic_time) last_update=$(( $current_time - (2*$force_interval_seconds) )) if [ -e "/var/run/dynamic_dns/$service_id.update" ] then @@ -231,7 +231,7 @@ do current_ip=$(get_current_ip) - current_time=$(date +%s) + current_time=$(monotonic_time) time_since_update=$(($current_time - $last_update)) @@ -270,7 +270,7 @@ do verbose_echo "" #save the time of the update - current_time=$(date +%s) + current_time=$(monotonic_time) last_update=$current_time time_since_update='0' registered_ip=$current_ip