blob: 8c717eb697524343c7c3b4e92cbfe7ca75b72e0b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/bin/ash
download() {
curl --location --max-redirs 5 --max-time 15 --connect-timeout 2 "$@"
}
download_retry() {
local delay max_time start end ret
max_time=8
ret=100
if [ "$1" = "--slx-time" ]; then
max_time="$2"
shift 2
fi
start="$( date +%s )"
for delay in 1 2 2 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 ""; do
download "$@"
ret="$?"
[ "$ret" = 0 ] && return 0
end="$( date +%s )"
[ "$(( end - start ))" -ge "$max_time" ] && break
[ -n "$delay" ] && sleep "$delay"
done
return "$ret"
}
|