From 085443ab0ce0d0cc1c6bd0bf1c53d2447b0a88f1 Mon Sep 17 00:00:00 2001 From: Wekuz Date: Fri, 26 Jun 2026 17:15:12 +0300 Subject: [PATCH] Added script to backup Vaultwarden to Backblaze --- scripts/backup/vw-backup.sh | 77 +++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 scripts/backup/vw-backup.sh diff --git a/scripts/backup/vw-backup.sh b/scripts/backup/vw-backup.sh new file mode 100644 index 0000000..0c67a1b --- /dev/null +++ b/scripts/backup/vw-backup.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +# This script requires root privileges and the existance of LOG_DIR and + +set -Eeuo pipefail +shopt -s failglob + +GPG_RECIP="wekuz@duck.com" + +DATA_DIR="/var/lib/vaultwarden/data" +BACKUP_DIR="$(mktemp -d /tmp/vw-backup.XXXXXX)" +DB_FILE="$BACKUP_DIR/db.sqlite3" +TAR_FILE="$BACKUP_DIR/vw-backup.tar.zst" +GPG_FILE="$TAR_FILE.gpg" + +LOG_DIR="/var/log/vaultwarden" +LOG_FILE="$LOG_DIR/backup.log" +STATUS_FILE="/var/lib/glance/assets/vw-backup.json" + +exec >>"$LOG_FILE" 2>&1 + +write_status() { + local status="$1" + local error_msg="${2:-null}" + local last_success="${3:-null}" + local size_bytes="${4:-null}" + + cat >"$STATUS_FILE" <