50 lines
1.3 KiB
Bash
50 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
B2_BUCKET=${B2_BUCKET:-${REMOTE_DIR%%/*}}
|
|
B2_REMOTE_DIR=${REMOTE_DIR#*/}
|
|
Var::check B2_BUCKET
|
|
|
|
# Добавляем в конце '/'
|
|
if [[ -n "${B2_REMOTE_DIR}" ]] && [[ ${B2_REMOTE_DIR} != */ ]]; then B2_REMOTE_DIR="${B2_REMOTE_DIR}/"; fi
|
|
|
|
# Полное имя архива на хранилище
|
|
B2_ARCHIVE=${B2_REMOTE_DIR}${REMOTE_ARCHIVE}
|
|
B2_ACCOUNT_ID=${B2_ACCOUNT_ID}
|
|
B2_APPLICATION_KEY=${B2_APPLICATION_KEY}
|
|
|
|
B2_CONNECTION=
|
|
|
|
if [[ -n "${DEBUG}" ]]; then
|
|
echo B2_BUCKET=${B2_BUCKET}
|
|
echo B2_REMOTE_DIR=${B2_REMOTE_DIR}
|
|
echo B2_ARCHIVE=${B2_ARCHIVE}
|
|
fi
|
|
|
|
storage_login() {
|
|
b2 authorize-account ${B2_ACCOUNT_ID} ${B2_APPLICATION_KEY}
|
|
log "Login to B2 by ${B2_ACCOUNT_ID}" && \
|
|
export B2_CONNECTION=true
|
|
|
|
return $?
|
|
}
|
|
|
|
storage_download() {
|
|
if Var::isFalse ${B2_CONNECTION}; then storage_login; fi
|
|
|
|
b2 download-file-by-name ${B2_BUCKET} ${B2_ARCHIVE} ${ARCHIVE}
|
|
log "Download \"${B2_ARCHIVE}\" from busket \"${B2_BUCKET}\" \n\t as \"${ARCHIVE}\""
|
|
|
|
return $?
|
|
}
|
|
|
|
storage_upload() {
|
|
if Var::isFalse ${B2_CONNECTION}; then storage_login; fi
|
|
|
|
if Var::isFalse ${DRY_RUN}; then
|
|
b2 upload-file ${B2_BUCKET} ${ARCHIVE} ${B2_ARCHIVE}
|
|
fi
|
|
log "Upload \"${ARCHIVE}\" \n\t as \"${B2_ARCHIVE}\" in \"${B2_BUCKET}\""
|
|
|
|
return $?
|
|
}
|