[packages] ddns-scripts: Introduce retry_interval option to periodically retry DDNS update, if it fails (#10848)

git-svn-id: svn://svn.openwrt.org/openwrt/packages@29977 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
acinonyx
2012-01-31 20:00:02 +00:00
parent b4d8e64581
commit 8c51b40c1e
2 changed files with 45 additions and 8 deletions

View File

@ -68,6 +68,11 @@ then
check_interval=600
fi
if [ -z "$retry_interval" ]
then
retry_interval=60
fi
if [ -z "$check_unit" ]
then
check_unit="seconds"
@ -203,6 +208,28 @@ esac
#compute retry interval in seconds
case "$retry_unit" in
"days" )
retry_interval_seconds=$(($retry_interval*60*60*24))
;;
"hours" )
retry_interval_seconds=$(($retry_interval*60*60))
;;
"minutes" )
retry_interval_seconds=$(($retry_interval*60))
;;
"seconds" )
retry_interval_seconds=$retry_interval
;;
* )
#default is seconds
retry_interval_seconds=$retry_interval
;;
esac
verbose_echo "force seconds = $force_interval_seconds"
verbose_echo "check seconds = $check_interval_seconds"
@ -289,6 +316,12 @@ do
#here we actually connect, and perform the update
update_output=$( $retrieve_prog "$final_url" )
if [ $? -gt 0 ]
then
verbose_echo "update failed"
sleep $retry_interval_seconds
continue
fi
verbose_echo "Update Output:"
verbose_echo "$update_output"