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