CURL=/home/mwolson_admin/bin/curl
HMAC=$(dirname $0)/s3-hmac
+ATTEMPTS=3
# print a message and bail
die() {
# $3 = remote name
# $4 = local name.
# $5 = bandwidth limit.
- local bucket remote date sig md5 arg inout headers
+ local bucket remote date sig md5 arg inout headers tries ret
# header handling is kinda fugly, but it works.
bucket="${2:+/${2}}/" # slashify the bucket
remote="$(urlenc "${3}")" # if you don't, strange things may happen.
headers[${#headers[@]}]="Authorization: AWS ${S3_ACCESS_KEY_ID}:${sig}"
headers[${#headers[@]}]="Date: ${date}"
[[ ${md5} ]] && headers[${#headers[@]}]="Content-MD5: ${md5}"
+ tries=0
+ while test $tries -lt 3; do
+ tries=$(expr $tries + 1)
$CURL ${arg} "${inout}" ${stdopts} -K <(curl_headers "${headers[@]}") \
"http://s3.amazonaws.com${bucket}${remote}"
- return $?
+ ret=$?
+ test $ret -eq 0 && break;
+ done
+ return $ret
}
s3_put() {