Files
backup-2/assets/usr/local/sbin/storage/b2.sh
T

40 lines
1.1 KiB
Bash

#!/usr/bin/env bash
storage_login() {
B2_REMOTE_DIR=${STORAGE_PATH#*/}
B2_BUCKET=${STORAGE_PATH%%/*}
B2_ARCHIVE=${B2_REMOTE_DIR}/$(basename ${ARCHIVE})
B2_ACCOUNT_ID=${ACCOUNT_ID}
B2_APPLICATION_KEY=${APPLICATION_KEY}
if [[ -n "${DEBUG}" ]]; then
echo B2_BUCKET=${B2_BUCKET}
echo B2_REMOTE_DIR=${B2_REMOTE_DIR}
echo B2_ARCHIVE=${B2_ARCHIVE}
echo ARCHIVE=${ARCHIVE}
fi
B2_CONNECTION=
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 in \"${B2_ARCHIVE}\" from bucket \"${B2_BUCKET}\" \n\t as \"$(basename ${ARCHIVE})\""
return $?
}
storage_upload() {
[ -z ${B2_CONNECTION} ] && storage_login
b2 upload-file ${B2_BUCKET} ${ARCHIVE} ${B2_ARCHIVE}
log "Upload \"$(basename ${ARCHIVE})\" \n\t to \"${B2_ARCHIVE}\" in bucket \"${B2_BUCKET}\""
return $?
}