Files
backup-2/assets/usr/local/sbin/storage/b2.sh
T
2020-02-26 12:53:40 +07:00

45 lines
1.2 KiB
Bash

#!/usr/bin/env bash
B2_REMOTE_DIR=${STORAGE_PATH#*/}
B2_BUCKET=${STORAGE_PATH%%/*}
# Добавляем в конце '/'
if [[ -n "${B2_REMOTE_DIR}" ]] && [[ ${B2_REMOTE_DIR} != */ ]]; then B2_REMOTE_DIR="${B2_REMOTE_DIR}/"; fi
# Полное имя архива на хранилище
B2_ARCHIVE=${B2_REMOTE_DIR}${ARCHIVE}
B2_ACCOUNT_ID=${ACCOUNT_ID}
B2_APPLICATION_KEY=${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() {
[ -z ${B2_CONNECTION} ] && storage_login
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() {
[ -z ${B2_CONNECTION} ] && storage_login
b2 upload-file ${B2_BUCKET} ${ARCHIVE} ${B2_ARCHIVE}
log "Upload \"${ARCHIVE}\" \n\t as \"${B2_ARCHIVE}\" in \"${B2_BUCKET}\""
return $?
}