5.2 KiB
5.2 KiB
好的,我帮你把这次微信备份的完整部署经验整合成一份更新后的文档,方便后续参考和维护。
PBS 备份服务器 + 微信聊天记录备份部署文档
📋 系统概览
| 项目 | 内容 |
|---|---|
| PBS 服务器 | pbs01(虚拟机,Proxmox Backup Server 4.2-1) |
| 数据盘 | 100GB(/dev/sdb1 → /mnt/backup) |
| Datastore 名称 | weixin_backup |
| 备份目标 | PC02 微信聊天记录备份文件夹 |
| 网络方案 | Tailscale 内网穿透 |
| 客户端 | PC02 WSL2(Ubuntu 24.04)+ PBS Client |
🖥️ PBS 服务端配置(已完成)
磁盘挂载
# 分区并格式化
sudo fdisk /dev/sdb # 创建分区 /dev/sdb1
sudo mkfs.ext4 /dev/sdb1
# 挂载
sudo mkdir -p /mnt/backup
sudo mount /dev/sdb1 /mnt/backup
# 自动挂载(/etc/fstab)
UUID=你的UUID /mnt/backup ext4 defaults 0 2
Datastore 创建
proxmox-backup-manager datastore create weixin_backup /mnt/backup
保留策略(Prune)
proxmox-backup-manager datastore update weixin_backup \
--keep-daily 30 \
--keep-monthly 12
API Token 权限设置
# 为 Token 授予 Datastore 备份权限
proxmox-backup-manager acl update /datastore/weixin_backup root@pam!pc02-weixin --roles DatastoreAdmin
Token 信息:
- Token ID:
root@pam!pc02-weixin- Secret:
a21e8e89-a18f-4a01-b7f3-7aaa4a0db10e
💻 PC02 客户端配置(WSL2 Ubuntu 24.04)
安装 PBS 客户端
# 添加 Proxmox 官方源
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
echo "deb http://download.proxmox.com/debian/pbs-client bookworm main" | sudo tee /etc/apt/sources.list.d/pbs-client.list
sudo apt update
sudo apt install proxmox-backup-client -y
手动备份命令
# 设置认证信息(注意用单引号避免 zsh 感叹号报错)
export PBS_REPOSITORY='root@pam!pc02-weixin@pbs01:weixin_backup'
export PBS_PASSWORD='a21e8e89-a18f-4a01-b7f3-7aaa4a0db10e'
# 执行备份(首次全量,后续增量)
proxmox-backup-client backup weixin.pxar:/mnt/d/yangxuan/Documents/xwechat_files/Backup/wxid_4931329313415
⚠️ 注意:
- 若
pbs01主机名无法解析,改用 Tailscale IP:root@pam!pc02-weixin@100.x.x.x:weixin_backup- 备份归档名
weixin.pxar可自定义,但一旦确定不要随意更改,否则会丢失增量备份链
WSL 路径说明
| Windows 路径 | WSL 路径 |
|---|---|
D:\yangxuan\Documents\... |
/mnt/d/yangxuan/Documents/... |
🤖 自动化备份脚本
创建脚本 ~/backup-wechat.sh
#!/bin/bash
# 微信聊天记录自动备份脚本
# 配置
PBS_REPO='root@pam!pc02-weixin@pbs01:weixin_backup'
PBS_PASS='a21e8e89-a18f-4a01-b7f3-7aaa4a0db10e'
BACKUP_PATH='/mnt/d/yangxuan/Documents/xwechat_files/Backup/wxid_4931329313415'
LOG_FILE="$HOME/backup-wechat.log"
# 检测 PBS 是否在线
if ! ping -c 1 -W 2 pbs01 > /dev/null 2>&1; then
echo "[$(date)] PBS 不在线,跳过备份" >> "$LOG_FILE"
exit 0
fi
# 检测备份目录是否存在
if [ ! -d "$BACKUP_PATH" ]; then
echo "[$(date)] 警告:备份目录不存在,跳过" >> "$LOG_FILE"
exit 1
fi
# 执行备份
export PBS_REPOSITORY="$PBS_REPO"
export PBS_PASSWORD="$PBS_PASS"
echo "[$(date)] 开始备份微信记录..." >> "$LOG_FILE"
proxmox-backup-client backup weixin.pxar:"$BACKUP_PATH" >> "$LOG_FILE" 2>&1
if [ $? -eq 0 ]; then
echo "[$(date)] 备份成功 ✅" >> "$LOG_FILE"
else
echo "[$(date)] 备份失败 ❌" >> "$LOG_FILE"
fi
赋予执行权限
chmod +x ~/backup-wechat.sh
配置定时任务(cron)
每月 1 号凌晨 2:00 执行:
crontab -e
# 添加一行
0 2 1 * * /home/yangxuan/backup-wechat.sh
✅ 验证与排查
检查备份是否成功
# 在 PC02 WSL 中
proxmox-backup-client snapshot list
# 或在 PBS 服务端
proxmox-backup-manager datastore list
proxmox-backup-manager datastore content weixin_backup
常见问题排查
| 问题 | 解决方案 |
|---|---|
zsh: event not found |
用单引号包裹 PBS_REPOSITORY 值 |
missing permissions 'Datastore.Backup' |
在 PBS 中授予 Token 相应权限 |
pbs01 无法解析 |
改用 Tailscale IP 地址 |
| 备份目录不存在 | 确认 WSL 路径写法,如 /mnt/d/... |
📊 当前状态
| 项目 | 状态 |
|---|---|
| PBS 服务端 | ✅ 运行正常 |
Datastore weixin_backup |
✅ 已创建,98GB 可用 |
API Token root@pam!pc02-weixin |
✅ 已授权 |
| PC02 WSL 客户端 | ✅ 已安装 |
| 首次备份 | ✅ 已完成 |
🔗 相关命令速查
| 用途 | 命令 |
|---|---|
| 查看 PBS 任务 | proxmox-backup-manager tasks list |
| 查看 Datastore 内容 | proxmox-backup-manager datastore content weixin_backup |
| 查看备份快照 | proxmox-backup-client snapshot list |
| 查看磁盘使用 | df -h /mnt/backup |
| 查看 Tailscale IP | tailscale ip |
| 手动垃圾回收 | proxmox-backup-manager garbage-collection start weixin_backup |
文档已更新完毕,后续如有新增备份设备或调整策略,随时补充! 📝