备份ClawCloud Debian12服务器......vaultwarden
我的debian12服务器默认不支持中文。
sudo apt update
sudo apt install locales
sudo locale-gen zh_CN.UTF-8
sudo update-locale LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:zh
locale由于之前服务器没用精心规划路径,导致家目录非常混乱,就算清理过还是有很多没使用服务文件文件夹仍在:

目前我决定创建一个新的文件夹,就像现在Hostdzire服务器上,专门存放docker项目,在细分类别。
我的备份将一个项目内有用的配置&数据打包为tar.gz在上传到backblaze对应的服务器备份bucket的对应分类。
目前还没有实现自定话,虽然很简单,但是还是先让我写好必要服务备份的脚本再说。
举例:
Python:存放运行py脚本专用,直接在家目录下
Code:存放平时作业所需要的代码/二进制文件
Docker:存放docker项目,往下会继续分类
Docker/Password:存放docker类+password类项目,比如vaultwarden
Docker/Music:存放Maloja、Multi-Scrobbler等项目
......vaultwarden这种重要的密码服务需要重点备份
备份流程和脚本如下:
先在服务器上安装rclone链接到backblaze
sudo apt install rclone
rclone config确认在backblaze创建bucket:Clawcloud-0-backup
确认需要备份的文件:
compose.yaml
vw-data/db_backup.sqlite3
vw-data/rsa_key.pem确认权限正确:
sudo chown -R jay:jay /home/jay/docker/password/vaultwarden/vw-data安装sqlite3用于备份数据库:
sudo apt install sqlite3创建脚本:
上传到b2:Clawcloud-0-backup/vaultwarden
打上了时间戳,确认最新备份
#!/bin/bash
# ================= 配置 =================
BASE_DIR="/home/jay/docker/password/vaultwarden"
RCLONE_REMOTE="b2"
BUCKET="Clawcloud-0-backup"
TS=$(date +"%Y%m%d-%H%M%S")
# 需要备份的文件和目录(db.sqlite3 用备份副本代替)
BACKUP_ITEMS=(
"$BASE_DIR/compose.yaml"
"$BASE_DIR/vw-data/rsa_key.pem"
)
# 临时 SQLite 备份文件
DB_BACKUP="$BASE_DIR/vw-data/db_backup.sqlite3"
# ================= 数据库在线备份 =================
echo "[1/4] 创建 SQLite 数据库备份副本..."
sqlite3 "$BASE_DIR/vw-data/db.sqlite3" ".backup '$DB_BACKUP'"
# 将数据库备份加入打包列表
BACKUP_ITEMS+=("$DB_BACKUP")
# ================= 打包文件 =================
BACKUP_TAR="$BASE_DIR/vaultwarden-backup-${TS}.tar.gz"
echo "[2/4] 打包 Vaultwarden 所有文件..."
tar -czf "$BACKUP_TAR" "${BACKUP_ITEMS[@]}"
# ================= 上传到 Backblaze B2 =================
echo "[3/4] 上传到 Backblaze B2..."
rclone copy "$BACKUP_TAR" "${RCLONE_REMOTE}:${BUCKET}/vaultwarden/"
# ================= 清理本地临时文件 =================
echo "[4/4] 清理本地临时备份文件..."
rm -f "$DB_BACKUP" "$BACKUP_TAR"
echo "✅ Vaultwarden 备份完成并上传到 B2"