# MEMORY.md —— PBS 备份助手长期记忆 ## 🔌 连接信息(核心) - **主机**:pbs01(Proxmox Backup Server) - **地址**:`100.115.195.195`(Tailscale 内网) - **SSH 登录**:`ssh root@100.115.195.195`(已配置免密,使用 `~/.ssh/id_ed25519`) - **系统**:Debian 系,内核 `7.0.0-3-pve`(Proxmox VE 内核) - **连接状态**:2026-08-21 配置免密登录成功,已验证可正常连接 ## 🗄️ 数据存储(datastore) ### 1. `library`(多设备备份) - **路径**:`/mnt/library` - **设备**:`/dev/sdc1`(984G 总量) - **用途**:VPS(vps01)、PC02(library照片)、BK03(bk03) 等设备的目录备份 - **GC 计划**:daily - **API Tokens**: - `backup@pbs!vps01_opt` → VPS OPT 备份 - `backup@pbs!pc02_library` → PC02 library 照片备份 - `backup@pbs!bk03` → BK03 OPT 备份 - **状态**:已用 277G(30%),可用 657G ### 2. `weixin_backup`(微信聊天记录) - **路径**:`/mnt/backup` - **设备**:`/dev/sdb1`(98G 总量) - **用途**:PC02 微信聊天记录备份 - **保留策略**:keep-daily 30, keep-monthly 12 - **API Token**:`backup@pbs!pc02_weixin`(唯一有效;旧 `root@pam!pc02-weixin` token 已失效) - **备份源**:`/mnt/d/yangxuan/Documents/xwechat_files/Backup/wxid_4931329313415`(WSL2 路径,源存在) - **自动化**:pbs01 开机 150s 后经 `auto-sync-pc02.sh` 触发(非 PC02 cron) - **状态**:已用 9.8G(11%),可用 84G ## 📅 定时备份任务(pbs01 开机自动同步) - **bk03**:开机后 90s → `bk03-autosync.timer` - **vps01**:开机后 120s → `vps01-autosync.timer` - **PC02 微信+library**:开机后 150s → `pc02-autosync.timer` - **library GC**:daily(自动) ## 🖥️ 备份客户端清单 | 客户端 | 备份内容 | Datastore | 源路径 | 通道 | |--------|---------|-----------|------|------| | VPS (vps01) | /opt | library | - | tailscale | | PC02 (library照片) | /mnt/e/library/library | library | - | **LAN 192.168.3.11** | | BK03 | /opt | library | - | tailscale | | PC02 (微信) | 微信记录 | weixin_backup | WSL2 /mnt/d路径 | **LAN 192.168.3.11** | ## 📝 运行模式 - **低功耗策略**:pbs01 每月开机一次 - **开机后检测**:检查各备份主机(pc02 等)是否在线(Tailscale),在线则同步 ## 🤖 BK03 自动同步(已完成 2026-08-21) ### 连接信息 - **bk03**:主机名 `xuan-aq`,Tailscale `100.115.195.193`,SSH 用户 `yangxuan` - **认证**:pbs01 专属密钥 `~/.ssh/id_ed25519_pbs01_bk03` → bk03 authorized_keys(免密) - **PBS token**:`backup@pbs!bk03`(/datastore Admin),secret 存于 bk03 `~/.config/proxmox-backup/bk03.pass`(权限 600),**勿泄露** ### systemd 自动同步(pbs01 上) - **脚本**:`/root/scripts/auto-sync-bk03.sh` - **service**:`bk03-autosync.service`(oneshot) - **timer**:`bk03-autosync.timer`(开机后 90 秒触发) - **日志**:`/var/log/bk03-autosync.log` - **流程**:开机→90s→检测 bk03 在线(ping 193)→在线则免密触发 `proxmox-backup-client backup bk03_opt.pxar:/opt --backup-id xuan-aq` - **已验证**:端到端备份成功(增量复用 100%) ## 🤖 VPS01 自动同步(已完成 2026-08-21) ### 连接信息 - **vps01**:主机名 `xuan-vps`,Tailscale `100.115.195.20`,SSH 用户 `root`(可直接登录,无需 su) - **认证**:pbs01 专属密钥 `~/.ssh/id_ed25519_pbs01_vps01` → vps01 authorized_keys(免密) - **PBS token**:`backup@pbs!vps01_opt`(/datastore Admin),secret 存于 vps01 `~/.config/proxmox-backup/vps01.pass`(权限 600),**勿泄露** - **注意**:vps01 authorized_keys 曾因原有粘连行损坏,已拆分修复,原条目全保留 ### systemd 自动同步(pbs01 上) - **脚本**:`/root/scripts/auto-sync-vps01.sh` - **service**:`vps01-autosync.service`(oneshot) - **timer**:`vps01-autosync.timer`(开机后 120 秒触发) - **日志**:`/var/log/vps01-autosync.log` - **流程**:开机→120s→检测 vps01 在线(ping 20)→在线则免密触发 `proxmox-backup-client backup vps_opt.pxar:/opt --backup-id xuan-vps` - **已验证**:端到端备份成功(增量复用 98.3%),耗时约7分钟 - **注意**:vps01 /opt 含 navidrome 数据库,备份时 db-wal 文件增长会截断(正常现象) ### 时区说明 - PBS 快照时间为 **RFC3339 + UTC**(尾部 Z),如 `2026-08-21T07:59:08Z`,**无法改为本地时区**(文档依据 terminology.html) - 本地读取需 +8h 转换(Asia/Shanghai) ## 🤖 PC02 自动同步(2026-09-02 配置并验证成功) ### 连接信息 - **pc02**:主机名 `xuan-main`,Windows+WSL2 - **⚠️ IP 差异确认**:`100.115.195.189`=Windows宿主机(pc02),其内部 WSL 的 tailscale 身份是 `100.115.195.191`(wsl02)。proxmox-backup-client 在 WSL 里跑,出口 IP 是 191。SSH 到 189:2222 会转发进该 WSL - **SSH**:端口 **2222**,用户 `yangxuan`,密钥 `id_ed25519_pbs01_pc02`(免密) - **备份源在 WSL2 的 /mnt/d、/mnt/e(Windows NTFS 9P 挂载)** ### ⚠️ 通道经验(重要) - **同一局域网的主机(PC02)备份必须走局域网地址 `192.168.3.11`**:tailscale 通道遇大备份会在 `POST /dynamic_chunk` 后卡死 17-20 分钟 → `Error: timed out` - 改 `192.168.3.11` 后:微信备份 91 秒成功、library 备份(280G) 69 分钟成功 - 独立 tailscale 主机(vps01/bk03)走 tailscale 正常不受影响 - 前提:PC02 与 pbs01 同 LAN(1ms)。若 pbs01 换网络环境该地址不可达,需回退 tailscale ### 双备份配置(pbs01 触发, repository 均用 LAN 192.168.3.11) | 备份 | token | 源 | datastore | archive | 验证 | |------|-------|-----|------|------|------| | 微信 | `backup@pbs!pc02_weixin` | /mnt/d/.../wxid_4931329313415 | weixin_backup | wexin.pxar | ✅91s复用95.5% | | library照片 | `backup@pbs!pc02_library` | /mnt/e/library/library | library | library.pxar | ✅69min复用98.3% | - secret 存 PC02:`~/.config/proxmox-backup/pc02_weixin.pass`、`pc02_library.pass`(600,勿泄露) - 有效 token 是 `backup@pbs!pc02_weixin`;archive 名用 `wexin.pxar`(非 weixin.pxar) ### systemd 自动同步(pbs01 上) - **脚本**:`/root/scripts/auto-sync-pc02.sh`(先微信后 library 串行双备份) - **service**:`pc02-autosync.service`(oneshot,TimeoutStartSec=43200 即 12h) - **timer**:`pc02-autosync.timer`(开机后 150 秒触发) - **日志**:`/var/log/pc02-autosync.log` - **流程**:开机→150s→检测 PC02 在线(ping 189)→在线则免密 SSH(2222) 串行:微信→library照片 ### 备份耗时痛点(正常) - 微信/library 源在 /mnt/d,/mnt/e(Windows 9P 跨盘),增量校验文件+全目录扫描慢,CPU 低、进度慢、uploaded 0B 持续可能属正常 - library 照片源 280G:全量扫描约 69 分钟(增量实际上传 4.7G) - bk03 今日离线自动跳过未备份(上次成功停 8/21);下一次自动触发会在 bk03 在线时补上 ## 🔧 常见操作规范 - 所有读写操作通过 `ssh root@100.115.195.195 '<命令>'` 执行 - 只读命令直接执行;写/删/改命令必须先请示杨轩 - SSH 密钥内容不读取、不泄露 - **敏感信息保护**:API Token 密码、Secret 等不写入日志或聊天 ## ⚠️ 注意事项 - 备份数据删除操作不可逆,务必谨慎 - 涉及回收站清空、数据存储格式化等高风险操作一律先请示 - **文档依据**:任何写/删/改操作前必须查阅 PBS 官方文档(https://100.115.195.195:8007/docs/),说明依据并获确认