auto: sync OpenClaw config 2026-08-21 17:17

This commit is contained in:
2026-08-21 17:17:08 +08:00
parent 8b5d3fed21
commit cfadeacfa5
35 changed files with 1731 additions and 92 deletions
@@ -0,0 +1,79 @@
https://192.168.3.11:8007/#DataStore-library
```bash
backup@pbs!vps01_opt
015f7a3a-1559-4e29-a3ee-c127425fb24b
export PBS_REPOSITORY='backup@pbs!vps01_opt@100.115.195.195:library'
export PBS_PASSWORD='015f7a3a-1559-4e29-a3ee-c127425fb24b'
proxmox-backup-client backup vps_opt.pxar:/opt
backup@pbs!pc02_library
dfc361dc-80ac-400a-98be-98f178e8ccc1
export PBS_REPOSITORY='backup@pbs!pc02_library@pbs01:library'
export PBS_PASSWORD='dfc361dc-80ac-400a-98be-98f178e8ccc1'
export PBS_REPOSITORY='backup@pbs!pc02_library@192.168.3.11:library'
proxmox-backup-client backup library.pxar:/mnt/e/library/library
backup@pbs!bk03
06bb5974-1a8d-4f74-8a1c-1422756fe327
export PBS_REPOSITORY='backup@pbs!bk03@100.115.195.195:library'
export PBS_PASSWORD='06bb5974-1a8d-4f74-8a1c-1422756fe327'
proxmox-backup-client backup bk03_opt.pxar:/opt
# 查看磁盘状态确认
lsblk
# 对 sdb 进行分区(创建一个主分区)
fdisk /dev/sdc
# 交互操作:
# n → 新建分区
# p → 主分区
# 1 → 分区号 1
# 按回车 → 默认起始扇区
# 按回车 → 默认结束扇区(使用全部空间)
# w → 写入并退出
# 格式化分区为 ext4 文件系统
mkfs.ext4 /dev/sdc1
---
### 2️⃣ 创建挂载点并挂载
# 创建挂载目录
mkdir -p /mnt/library
# 临时挂载
mount /dev/sdc1 /mnt/library
mount /dev/sdb1 /mnt/backup
# 验证挂载成功
df -h /mnt/library
df -h /mnt/backup
# 应该显示约 98G 可用
---
### 3️⃣ 设置开机自动挂载
# 获取分区的 UUID
blkid /dev/sdc1
# 输出类似:/dev/sdb1: UUID="a1b2c3d4-..." TYPE="ext4" PARTLABEL="primary"
root@pbs01:~# blkid /dev/sdc1
/dev/sdc1: UUID="8e8a6cf7-026e-4cd5-8d31-268d6ac7ba09" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="aaf33f12-01"
# 编辑 fstab
nano /etc/fstab
# 在文件末尾添加一行(替换 UUID 为上面查到的值):
UUID=8e8a6cf7-026e-4cd5-8d31-268d6ac7ba09 /mnt/library ext4 defaults 0 2
# 保存退出(Ctrl+O, Enter, Ctrl+X
# 验证 fstab 配置是否正确
mount -a
# 没有报错就说明配置正确
```
@@ -0,0 +1,206 @@
好的,我帮你把这次微信备份的完整部署经验整合成一份**更新后的文档**,方便后续参考和维护。
---
# PBS 备份服务器 + 微信聊天记录备份部署文档
## 📋 系统概览
| 项目 | 内容 |
| :--- | :--- |
| **PBS 服务器** | `pbs01`(虚拟机,Proxmox Backup Server 4.2-1 |
| **数据盘** | 100GB`/dev/sdb1``/mnt/backup` |
| **Datastore 名称** | `weixin_backup` |
| **备份目标** | PC02 微信聊天记录备份文件夹 |
| **网络方案** | Tailscale 内网穿透 |
| **客户端** | PC02 WSL2Ubuntu 24.04+ PBS Client |
---
## 🖥️ PBS 服务端配置(已完成)
### 磁盘挂载
```bash
# 分区并格式化
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 创建
```bash
proxmox-backup-manager datastore create weixin_backup /mnt/backup
```
### 保留策略(Prune
```bash
proxmox-backup-manager datastore update weixin_backup \
--keep-daily 30 \
--keep-monthly 12
```
### API Token 权限设置
```bash
# 为 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 客户端
```bash
# 添加 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
```
### 手动备份命令
```bash
# 设置认证信息(注意用单引号避免 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`
```bash
#!/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
```
### 赋予执行权限
```bash
chmod +x ~/backup-wechat.sh
```
### 配置定时任务(cron
每月 1 号凌晨 2:00 执行:
```bash
crontab -e
# 添加一行
0 2 1 * * /home/yangxuan/backup-wechat.sh
```
---
## ✅ 验证与排查
### 检查备份是否成功
```bash
# 在 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` |
---
文档已更新完毕,后续如有新增备份设备或调整策略,随时补充! 📝
@@ -0,0 +1,205 @@
好的,以下是 **PBS 备份服务器部署进度摘要文档**,方便你交给其他会话或后续操作参考。
---
# PBS 备份服务器部署摘要文档
## 📋 基本信息
| 项目 | 内容 |
| :--- | :--- |
| **虚拟机名称** | `pbs01` |
| **操作系统** | Proxmox Backup Server 4.2-1(基于 Debian 13.4 "Trixie" |
| **部署位置** | PVE 虚拟机,挂载 RAID10 存储作为备份数据仓库 |
| **网络方案** | 通过 Tailscale 接入私有安全网络,供所有设备访问 |
| **Web 管理端口** | `8007`HTTPS |
---
## 🖥️ 虚拟机硬件配置(已完成)
| 硬件 | 配置 |
| :--- | :--- |
| **CPU** | 4 核心(类别:`host` |
| **内存** | 8 GB(建议起步) |
| **系统盘** | 64 GBVirtIO SCSI single + IO Thread |
| **数据盘** | RAID10 存储池(容量按需分配,VirtIO SCSI single + IO Thread |
| **网络** | VirtIO 网卡,桥接至 `vmbr0` |
| **机型** | `q35` |
| **BIOS** | `SeaBIOS` |
| **SCSI 控制器** | `VirtIO SCSI single` |
---
## 🌐 软件源配置(已完成)
### Debian 系统源(`/etc/apt/sources.list`
```
deb https://mirrors.ustc.edu.cn/debian/ trixie main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ trixie-updates main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian-security/ trixie-security main contrib non-free non-free-firmware
```
### PBS 免费源(`/etc/apt/sources.list.d/pbs-no-subscription.sources`
```
Types: deb
URIs: http://download.proxmox.com/debian/pbs
Suites: trixie
Components: pbs-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
```
### 企业订阅源(已禁用)
- `/etc/apt/sources.list.d/pbs-enterprise.sources.bak`(已重命名禁用)
### Tailscale 源(已添加)
- `/etc/apt/sources.list.d/tailscale.list`(由官方安装脚本自动配置)
---
## 🔐 Tailscale 网络(已完成安装)
| 项目 | 状态 |
| :--- | :--- |
| **安装** | ✅ 已通过官方脚本安装(`apt install tailscale -y` |
| **启动** | 待执行 `tailscale up` 进行认证 |
| **认证** | 待通过浏览器链接完成 Tailscale 登录 |
| **预期结果** | 获取 `100.x.x.x` 的 Tailscale IP,实现内网穿透访问 |
---
## ✅ 已完成操作清单
- [x] PVE 虚拟机 `pbs01` 创建完成
- [x] 系统盘(64GB)+ 数据盘(RAID10)挂载完成
- [x] PBS 4.2-1 ISO 安装完成
- [x] 主机名设置为 `pbs01.home`FQDN 格式)
- [x] Debian 系统源更换为中科大镜像源
- [x] PBS 企业订阅源禁用,免费源启用
- [x] Tailscale 官方源添加并安装完成
- [x] `apt update` 验证通过,无报错
---
## ⏳ 待执行操作(移交后续会话)
1. **Tailscale 认证启动**
```bash
tailscale up
```
按输出的链接在浏览器完成登录,将 `pbs01` 加入 Tailscale 网络。
2. **验证 Tailscale 状态**
```bash
tailscale status
```
3. **访问 PBS Web 管理界面**
```
https://<pbs01的Tailscale_IP>:8007
```
默认用户名:`root`,密码:安装时设置的 root 密码
4. **PBS Web 界面初始化配置**
- 创建数据存储(Datastore),路径指向挂载的 RAID10 数据盘
- 添加备份用户(建议单独创建,如 `backup@pbs`
- 配置备份保留策略(Prune 规则)
- 开启垃圾回收(GC)定时任务
5. **在 PVE 主节点中添加 PBS 为备份存储**
- 数据中心 → 存储 → 添加 → Proxmox 备份服务器
- 地址填写 `pbs01` 的 Tailscale IP
- 用户名/密码填写创建的备份用户
6. **在其他 Linux 设备(VPS、笔记本等)安装 PBS 客户端**
```bash
apt install proxmox-backup-client
```
用于备份文件、目录、数据库导出等。
7. **配置各设备的定时备份任务(cron / systemd timer**
---
## 📎 常用命令速查
| 用途 | 命令 |
| :--- | :--- |
| 查看 Tailscale 状态 | `tailscale status` |
| 查看 Tailscale IP | `tailscale ip` |
| PBS 服务状态 | `systemctl status proxmox-backup` |
| 查看 PBS 版本 | `proxmox-backup-manager versions` |
| 更新系统 | `apt update && apt upgrade -y` |
| 查看数据盘挂载 | `df -h` |
---
## 📌 注意事项
1. **备份数据盘不要和系统盘混用**,系统盘仅用于系统和日志。
2. **定期检查磁盘空间**,避免备份数据写满导致服务异常。
3. **建议在 PBS Web 中启用数据存储的验证和垃圾回收**,保证数据一致性。
4. **生产环境建议配置 UPS**,避免突然断电损坏数据。
---
这份文档可以直接交给后续会话继续操作。如果还有需要补充的内容,随时告诉我~
# 场景
备份服务器:pbs01
为了节约能耗,每月开机。需要开机后检测各个需要同步的文件主机是否在线
在线则同步
```bash
root@pbs01:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 32G 0 disk
├─sda1 8:1 0 1007K 0 part
├─sda2 8:2 0 512M 0 part
└─sda3 8:3 0 31.5G 0 part
├─pbs-swap 252:0 0 3.8G 0 lvm [SWAP]
└─pbs-root 252:1 0 27.7G 0 lvm /
sdb 8:16 0 100G 0 disk
sr0 11:0 1 1.4G 0 rom
```
## 场景1 微信聊天记录
- tailscale 局域网
- 微信主机:pc02 windows
- 微信路径:D:\yangxuan\Documents\xwechat_files\Backup\wxid_4931329313415
- 备份硬盘:sdb
```bash
export PBS_REPOSITORY="root@pam!pc02-weixin@pbs01:weixin_backup"
export PBS_PASSWORD="a21e8e89-a18f-4a01-b7f3-7aaa4a0db10e"
export PBS_REPOSITORY='root@pam!pc02-weixin@pbs01:weixin_backup'
export PBS_PASSWORD='a21e8e89-a18f-4a01-b7f3-7aaa4a0db10e'
proxmox-backup-client backup wexin.pxar:/mnt/d/yangxuan/Documents/xwechat_files/Backup/wxid_4931329313415
UUID=fcd6b1ea-603b-4618-a6d0-7c915ab961f9 /mnt/backup ext4 defaults 0 2
root@pam!pc02-weixin
a21e8e89-a18f-4a01-b7f3-7aaa4a0db10e
backup@pbs!pc02_weixin
e751a010-54f4-4bb2-9186-531244c8113c
export PBS_REPOSITORY='backup@pbs!pc02_weixin@pbs01:weixin_backup'
export PBS_PASSWORD='e751a010-54f4-4bb2-9186-531244c8113c'
proxmox-backup-client backup wexin.pxar:/mnt/d/yangxuan/Documents/xwechat_files/Backup/wxid_4931329313415
```
File diff suppressed because one or more lines are too long