feat: escaped every variable properly
This commit is contained in:
+18
-18
@@ -1,13 +1,13 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
. /app/includes.sh
|
||||
|
||||
function clear_dir() {
|
||||
rm -rf ${BACKUP_DIR}
|
||||
rm -rf "${BACKUP_DIR}"
|
||||
}
|
||||
|
||||
function backup_init() {
|
||||
NOW=$(date +"${BACKUP_FILE_DATE_FORMAT}")
|
||||
NOW="$(date +"${BACKUP_FILE_DATE_FORMAT}")"
|
||||
# backup bitwarden_rs database file
|
||||
BACKUP_FILE_DB="${BACKUP_DIR}/db.${NOW}.sqlite3"
|
||||
# backup bitwarden_rs config file
|
||||
@@ -22,7 +22,7 @@ function backup_db() {
|
||||
color blue "backup bitwarden_rs sqlite database"
|
||||
|
||||
if [[ -f "${DATA_DB}" ]]; then
|
||||
sqlite3 ${DATA_DB} ".backup ${BACKUP_FILE_DB}"
|
||||
sqlite3 "${DATA_DB}" ".backup '${BACKUP_FILE_DB}'"
|
||||
else
|
||||
color yellow "not found bitwarden_rs sqlite database, skipping"
|
||||
fi
|
||||
@@ -32,7 +32,7 @@ function backup_config() {
|
||||
color blue "backup bitwarden_rs config"
|
||||
|
||||
if [[ -f "${DATA_CONFIG}" ]]; then
|
||||
cp -f ${DATA_DIR}/config.json ${BACKUP_FILE_CONFIG}
|
||||
cp -f "${DATA_DIR}/config.json" "${BACKUP_FILE_CONFIG}"
|
||||
else
|
||||
color yellow "not found bitwarden_rs config, skipping"
|
||||
fi
|
||||
@@ -44,24 +44,24 @@ function backup_attachments() {
|
||||
local DATA_ATTACHMENTS="attachments"
|
||||
|
||||
if [[ -d "${DATA_DIR}/${DATA_ATTACHMENTS}" ]]; then
|
||||
tar -c -C ${DATA_DIR} -f ${BACKUP_FILE_ATTACHMENTS} ${DATA_ATTACHMENTS}
|
||||
tar -c -C "${DATA_DIR}" -f "${BACKUP_FILE_ATTACHMENTS}" "${DATA_ATTACHMENTS}"
|
||||
|
||||
color blue "display attachments tar file list"
|
||||
|
||||
tar -tf ${BACKUP_FILE_ATTACHMENTS}
|
||||
tar -tf "${BACKUP_FILE_ATTACHMENTS}"
|
||||
else
|
||||
color yellow "not found bitwarden_rs attachments directory, skipping"
|
||||
fi
|
||||
}
|
||||
|
||||
function backup() {
|
||||
mkdir -p ${BACKUP_DIR}
|
||||
mkdir -p "${BACKUP_DIR}"
|
||||
|
||||
backup_db
|
||||
backup_config
|
||||
backup_attachments
|
||||
|
||||
ls -lah ${BACKUP_DIR}
|
||||
ls -lah "${BACKUP_DIR}"
|
||||
}
|
||||
|
||||
function backup_package() {
|
||||
@@ -70,13 +70,13 @@ function backup_package() {
|
||||
|
||||
UPLOAD_FILE="${BACKUP_FILE_ZIP}"
|
||||
|
||||
zip -jP ${ZIP_PASSWORD} ${BACKUP_FILE_ZIP} ${BACKUP_DIR}/*
|
||||
zip -jP "${ZIP_PASSWORD}" "${BACKUP_FILE_ZIP}" "${BACKUP_DIR}"/*
|
||||
|
||||
ls -lah ${BACKUP_DIR}
|
||||
ls -lah "${BACKUP_DIR}"
|
||||
|
||||
color blue "display backup zip file list"
|
||||
|
||||
zip -sf ${BACKUP_FILE_ZIP}
|
||||
zip -sf "${BACKUP_FILE_ZIP}"
|
||||
else
|
||||
color yellow "skip package backup files"
|
||||
|
||||
@@ -88,7 +88,7 @@ function upload() {
|
||||
color blue "upload backup file to storage system"
|
||||
|
||||
# upload file not exist
|
||||
if [[ ! -f ${UPLOAD_FILE} ]]; then
|
||||
if [[ ! -f "${UPLOAD_FILE}" ]]; then
|
||||
color red "upload file not found"
|
||||
|
||||
send_mail_content "FALSE" "File upload failed at $(date +"%Y-%m-%d %H:%M:%S %Z"). Reason: Upload file not found."
|
||||
@@ -96,7 +96,7 @@ function upload() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rclone copy ${UPLOAD_FILE} "${RCLONE_REMOTE}"
|
||||
rclone copy "${UPLOAD_FILE}" "${RCLONE_REMOTE}"
|
||||
if [[ $? != 0 ]]; then
|
||||
color red "upload failed"
|
||||
|
||||
@@ -110,15 +110,15 @@ function clear_history() {
|
||||
if [[ "${BACKUP_KEEP_DAYS}" -gt 0 ]]; then
|
||||
color blue "delete ${BACKUP_KEEP_DAYS} days ago backup files"
|
||||
|
||||
local RCLONE_DELETE_LIST=$(rclone lsf "${RCLONE_REMOTE}" --min-age ${BACKUP_KEEP_DAYS}d)
|
||||
mapfile -t RCLONE_DELETE_LIST < <(rclone lsf "${RCLONE_REMOTE}" --min-age "${BACKUP_KEEP_DAYS}d")
|
||||
|
||||
for RCLONE_DELETE_FILE in ${RCLONE_DELETE_LIST}
|
||||
for RCLONE_DELETE_FILE in "${RCLONE_DELETE_LIST[@]}"
|
||||
do
|
||||
color yellow "deleting ${RCLONE_DELETE_FILE}"
|
||||
color yellow "deleting \"${RCLONE_DELETE_FILE}\""
|
||||
|
||||
rclone delete "${RCLONE_REMOTE}/${RCLONE_DELETE_FILE}"
|
||||
if [[ $? != 0 ]]; then
|
||||
color red "delete ${RCLONE_DELETE_FILE} failed"
|
||||
color red "delete \"${RCLONE_DELETE_FILE}\" failed"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user