feat: support 7z archive
This commit is contained in:
5 files changed
+21
-7
No files matched your search
+1
-1
@@ -7,6 +7,6 @@ LABEL "repository"="https://github.com/ttionya/BitwardenRS-Backup" \
|
|||||||
COPY scripts/*.sh /app/
|
COPY scripts/*.sh /app/
|
||||||
|
|
||||||
RUN chmod +x /app/*.sh \
|
RUN chmod +x /app/*.sh \
|
||||||
&& apk add --no-cache bash sqlite zip heirloom-mailx tzdata
|
&& apk add --no-cache bash sqlite p7zip heirloom-mailx tzdata
|
||||||
|
|
||||||
ENTRYPOINT ["/app/entrypoint.sh"]
|
ENTRYPOINT ["/app/entrypoint.sh"]
|
||||||
@@ -22,6 +22,7 @@ services:
|
|||||||
# CRON: '5 * * * *'
|
# CRON: '5 * * * *'
|
||||||
# ZIP_ENABLE: 'TRUE'
|
# ZIP_ENABLE: 'TRUE'
|
||||||
# ZIP_PASSWORD: 'WHEREISMYPASSWORD?'
|
# ZIP_PASSWORD: 'WHEREISMYPASSWORD?'
|
||||||
|
# ZIP_TYPE: 'zip'
|
||||||
# BACKUP_FILE_DATE_SUFFIX: ''
|
# BACKUP_FILE_DATE_SUFFIX: ''
|
||||||
# BACKUP_KEEP_DAYS: 0
|
# BACKUP_KEEP_DAYS: 0
|
||||||
# MAIL_SMTP_ENABLE: 'FALSE'
|
# MAIL_SMTP_ENABLE: 'FALSE'
|
||||||
|
|||||||
+8
-4
@@ -15,7 +15,7 @@ function backup_init() {
|
|||||||
# backup bitwarden_rs attachments directory
|
# backup bitwarden_rs attachments directory
|
||||||
BACKUP_FILE_ATTACHMENTS="${BACKUP_DIR}/attachments.${NOW}.tar"
|
BACKUP_FILE_ATTACHMENTS="${BACKUP_DIR}/attachments.${NOW}.tar"
|
||||||
# backup zip file
|
# backup zip file
|
||||||
BACKUP_FILE_ZIP="${BACKUP_DIR}/backup.${NOW}.zip"
|
BACKUP_FILE_ZIP="${BACKUP_DIR}/backup.${NOW}.${ZIP_TYPE}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function backup_db() {
|
function backup_db() {
|
||||||
@@ -70,13 +70,17 @@ function backup_package() {
|
|||||||
|
|
||||||
UPLOAD_FILE="${BACKUP_FILE_ZIP}"
|
UPLOAD_FILE="${BACKUP_FILE_ZIP}"
|
||||||
|
|
||||||
zip -jP "${ZIP_PASSWORD}" "${BACKUP_FILE_ZIP}" "${BACKUP_DIR}"/*
|
if [[ "${ZIP_TYPE}" == "zip" ]]; then
|
||||||
|
7z a -tzip -mx=9 -p"${ZIP_PASSWORD}" "${BACKUP_FILE_ZIP}" "${BACKUP_DIR}"/*
|
||||||
|
else
|
||||||
|
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on -p"${ZIP_PASSWORD}" "${BACKUP_FILE_ZIP}" "${BACKUP_DIR}"/*
|
||||||
|
fi
|
||||||
|
|
||||||
ls -lah "${BACKUP_DIR}"
|
ls -lah "${BACKUP_DIR}"
|
||||||
|
|
||||||
color blue "display backup zip file list"
|
color blue "display backup ${ZIP_TYPE} file list"
|
||||||
|
|
||||||
zip -sf "${BACKUP_FILE_ZIP}"
|
7z l "${BACKUP_FILE_ZIP}"
|
||||||
else
|
else
|
||||||
color yellow "skip package backup files"
|
color yellow "skip package backup files"
|
||||||
|
|
||||||
|
|||||||
@@ -125,6 +125,14 @@ function init_env() {
|
|||||||
ZIP_PASSWORD="WHEREISMYPASSWORD?"
|
ZIP_PASSWORD="WHEREISMYPASSWORD?"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# ZIP_TYPE
|
||||||
|
ZIP_TYPE=$(echo "${ZIP_TYPE}" | tr '[A-Z]' '[a-z]')
|
||||||
|
if [[ "${ZIP_TYPE}" == "7z" ]; then
|
||||||
|
ZIP_TYPE="7z"
|
||||||
|
else
|
||||||
|
ZIP_TYPE="zip"
|
||||||
|
fi
|
||||||
|
|
||||||
# BACKUP_KEEP_DAYS
|
# BACKUP_KEEP_DAYS
|
||||||
local BACKUP_KEEP_DAYS_DEFAULT="0"
|
local BACKUP_KEEP_DAYS_DEFAULT="0"
|
||||||
if [[ -z "${BACKUP_KEEP_DAYS}" ]]; then
|
if [[ -z "${BACKUP_KEEP_DAYS}" ]]; then
|
||||||
@@ -172,6 +180,7 @@ function init_env() {
|
|||||||
color yellow "RCLONE_REMOTE: ${RCLONE_REMOTE}"
|
color yellow "RCLONE_REMOTE: ${RCLONE_REMOTE}"
|
||||||
color yellow "ZIP_ENABLE: ${ZIP_ENABLE}"
|
color yellow "ZIP_ENABLE: ${ZIP_ENABLE}"
|
||||||
color yellow "ZIP_PASSWORD: ${#ZIP_PASSWORD} Chars"
|
color yellow "ZIP_PASSWORD: ${#ZIP_PASSWORD} Chars"
|
||||||
|
color yellow "ZIP_TYPE: ${ZIP_TYPE}"
|
||||||
color yellow "BACKUP_FILE_DATE_FORMAT: ${BACKUP_FILE_DATE_FORMAT}"
|
color yellow "BACKUP_FILE_DATE_FORMAT: ${BACKUP_FILE_DATE_FORMAT}"
|
||||||
color yellow "BACKUP_KEEP_DAYS: ${BACKUP_KEEP_DAYS}"
|
color yellow "BACKUP_KEEP_DAYS: ${BACKUP_KEEP_DAYS}"
|
||||||
color yellow "MAIL_SMTP_ENABLE: ${MAIL_SMTP_ENABLE}"
|
color yellow "MAIL_SMTP_ENABLE: ${MAIL_SMTP_ENABLE}"
|
||||||
|
|||||||
+2
-2
@@ -20,9 +20,9 @@ function restore_zip() {
|
|||||||
local FIND_FILE_ATTACHMENTS
|
local FIND_FILE_ATTACHMENTS
|
||||||
|
|
||||||
if [[ -n "${ZIP_PASSWORD}" ]]; then
|
if [[ -n "${ZIP_PASSWORD}" ]]; then
|
||||||
unzip -P "${ZIP_PASSWORD}" "${RESTORE_FILE_ZIP}" -d "${RESTORE_EXTRACT_DIR}"
|
7z e -aoa -p"${ZIP_PASSWORD}" -o"${RESTORE_EXTRACT_DIR}" "${RESTORE_FILE_ZIP}"
|
||||||
else
|
else
|
||||||
unzip "${RESTORE_FILE_ZIP}" -d "${RESTORE_EXTRACT_DIR}"
|
7z e -aoa -o"${RESTORE_EXTRACT_DIR}" "${RESTORE_FILE_ZIP}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $? == 0 ]]; then
|
if [[ $? == 0 ]]; then
|
||||||
|
|||||||
Reference in new issue
Block a user