#!/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 $? }