Files
vps-management-bot/memory/2026-02-24.md
2026-03-21 01:10:53 +08:00

14 KiB
Raw Blame History

2026-02-24

决策

  • 备份服务器(155.103.67.87)暂停同步到 Emby 主服(155.103.67.95),因为即将迁移到 OVH KS2(145.239.143.92)
  • OVH KS2 迁移方案全部动画重新下载OVH 10Gbps 比 rsync 快),不从旧服同步

OVH KS2 迁移状态

  • RAID5 reshape 已完成4盘在线11T 可用
  • Docker: emby + qbittorrent + caddy + mysql + embyboss 全部运行
  • DNS: media.088520.xyz / qb.088520.xyz → OVH (通过CDN代理)
  • Caddy 反代修复: localhost→emby容器名 (502问题)
  • Emby 配置从旧服 rsync 完成12个用户全部迁移
  • Bot @mangoemby_bot 迁移完成,旧服 embyboss+mysql 已停
  • qB 49个种子46个已完成3个0%(啦咘啦哆S02/海底S10/海底S02 可能无种)
  • 子代理批量搜索下载了大量动画Bluey/佩奇/汪汪队/海底小纵队/安全警长等)
  • 3个死种(0做种)已删除换了替代资源安全警长S02→1080p(26种), 海底S02→FROGWeb 1080p(27种)
  • 海底小纵队S10 M-Team只有一个版本且0做种可能需要从旧服rsync

Gitea README 修复

  • ss-rust: 安装链接从 raw.githubusercontent.com 改为 mjjtop.com/ss
  • vps-snapshot: 安装链接改为 mjjtop.com/bk
  • Gitea服务器(155.103.66.237) SSH key和密码都认证失败用API更新的

软路由 OpenClaw 语音识别

  • 161.129.35.235:22288 (Kwrt 24.10, N100 8GB) Docker 跑 OpenClaw
  • 容器内 pip 装 whisper 失败(PyTorch 915MB 下载超时)
  • 已给顶尖两个方案: Groq API(推荐) 或 清华源装本地whisper
  • ffmpeg/python3/pip3 已装好,只差 whisper

当前动画库清单155.103.67.95,共~304GB

动画 集数 备注
Bluey 布鲁伊 152集 2160p 中配
Peppa Pig 小猪佩奇 236集 1080p
PAW Patrol 汪汪队 112集 S01/S03-S05 1080p + S11 4K
Octonauts 海底小纵队 282集 S01-S09 + 中国之旅S01-S02 + 特别篇
Octonauts Above and Beyond 48集
Sheriff Labrador 安全警长啦咘啦哆 156集 S01-S03 4K
Sheriff Labrador vs Lynnia 啦咘啦哆大战羚羚羊 39集 S01 4K + S02 1080p
The Creature Cases 动物神探队 59集 S01-S07 1080p
Gigantosaurus 小恐龙大冒险 156集 S01 1080p + S02-S03 4K
My Little Pony 小马宝莉 143集 S02 HDR + S04 1080p
疯狂动物城 电影 4K HDR DV

VPS 备份目标变更

  • 旧备份机 155.103.67.87 弃用
  • 新备份目标: OVH KS2 145.239.143.92:/data/backup/ (11TB RAID5)
  • MEMORY.md 已更新
  • 注意: OVH 自身备份不能存本机(同一分区),需要反向备份到其他机器
  • OVH 只有一个根分区(/)挂载11TB不像旧Emby服有独立数据盘(/data)
  • vps-snapshot 在 OVH 上跑会把 /data/qbittorrent 也打包(旧服不会因为/data是独立挂载点
  • 需要给 vps-snapshot 加排除规则才能在 OVH 上用

小恐龙大冒险补下载

  • 子代理漏掉了 Gigantosaurus手动补上
  • S01: FROGWeb 1080p 中配中字 21.85GB (id:1049344)
  • S02: ZmWeb 4K 中配 10.09GB (id:954702)
  • S03: ZmWeb 4K 中配 8.53GB (id:954706)

Gitea 服务器 SSH

  • 155.103.66.237 SSH key 和密码 fJ7#vP9s@tL2qX!d 都认证失败
  • 只能通过 Gitea API (admin:Mango2026!) 操作

软路由 OpenClaw

  • 161.129.35.235:22288 密码: fJ7#vP9s@tL2qX!d
  • Docker 容器: openclaw (8h+运行) + miaospeed
  • Bot token: 8782003171:AAGlJK1Icrcwm8QR8bScLlUVp1jHoWC8t5c
  • 容器内 DNS 需手动设 8.8.8.8 才能联网(软路由透明代理导致)
  • 语音识别未完成,等顶尖自己处理

OVH 缺失动画补下载 (11:00 AM)

顶尖要求重新下载旧服上有但 OVH 缺的动画,从 M-Team 批量搜索+添加到 qB

动物神探队 The Creature Cases S01-S07 (MWeb 中配中字 +10%上传)

  • ids: 975595/975592/975591/975589/975586/1095370/1132811
  • 约 48GB

啦咘啦哆警长大战羚羚羊

  • S01 4K ZmWeb (id:1013442, 4.61GB, 49种)
  • S02 1080p ZmWeb (id:1128912, 3.27GB, 19种)

疯狂动物城 Zootopia

  • 第1部 4K HDR10 DBTV (id:1130201, 9.89GB, 33种)
  • 第2部 4K HDR10+ CHDWEB 中配国粤英 (id:1128584, 20.09GB, 411种)

海底小纵队中国之旅

  • S01 (id:1032355) + S02 (id:1018375)

小马宝莉 My Little Pony S01-S09 (UBWEB H.265 HDR10 中配中字)

  • ids: 957585/957733/957731/957729/957726/957673/957657/957628/957607
  • 约 50GB体积小画质好

总计新增 22 个种子,预估 ~140GB 全部已成功添加到 OVH qB (145.239.143.92:8080)

VPS 备份约定 [重要]

顶尖确认:以后他发 IP 过来,就按标准流程部署 vps-snapshot 备份到 OVH

  1. 安装: bash <(curl -sL mjjtop.com/bk)
  2. 配置: 远程→145.239.143.92:/data/backup/{机器名}/, LOCAL_KEEP=1, REMOTE_KEEP_DAYS=30, TG通知
  3. Cron: 0 3 * * *
  4. 手动触发一次验证 不需要再问,直接执行。

Stock Monitor 优化 (下午)

  • HDY(38.76.204.161) /opt/tg-stock-monitor/bot.py 全面优化
  • 全部商品改用 curl去掉 Playwright 依赖),一轮检查从 ~3分钟→<1秒
  • 腾讯云 7 商品修复分类页去重只请求1次disabled button 检测缺货
  • 同 URL 商品去重,并发 asyncio.gather
  • Misaka 4个商品 curl 拿不到SPA暂时跳过
  • RFCHOST 补货当天就检测到了

OC Monitor 面板修复 (下午)

  • https://openclaw.mjjvps.com (155.103.66.237:3800, Nginx反代)
  • 问题1: CDN(Photon-Edge) 回源走 HTTPS 443源站没有 openclaw 的 443 server block → 404
  • 修复: 加了 443 server block借用 git.088520.xyz 证书
  • 问题2: CDN 强制 HTTP→HTTPScertbot HTTP-01 验证失败
  • 修复: 顶尖关掉 Cloudflare 代理(DNS Only)certbot 签了独立证书(到期 5/25)
  • 清理: 删除 git.088520.xyz 旧 Nginx 配置(已弃用)
  • 清理: 删除多个 null/重复节点

N100 OC Monitor Agent 重写 (下午)

  • 旧 bash agent 依赖 python3Docker 容器重建后 python3 丢失
  • 用 Node.js 重写 agent: /mnt/data_sda1/openclaw/config/workspace/scripts/oc-monitor-agent.js
  • 持久化在宿主机挂载目录,容器重建不丢
  • 修复 providers 双重 JSON 编码问题(260→2)
  • start 脚本改用 PID 文件防重复启动
  • cron 路径修正: /root/.openclaw/workspace/scripts/start-oc-monitor.sh

N100 网络问题

  • Docker 容器连不上 Telegram API被墙
  • 宿主机有透明代理能连,但容器 DNS 被 Docker 覆盖成 8.8.8.8 绕过了代理
  • host 网络模式下 daemon.json dns 配置不生效
  • 顶尖让另一个 agent 处理代理问题

OC Monitor 服务端修复 (下午 ~16:00)

  • 根本原因: 服务端 JSON.stringify(b.providers) 对已经是字符串的 providers 双重编码
  • 修复: /app/server/index.js 改为 typeof b.providers==="string"?b.providers:JSON.stringify(b.providers||[])
  • 修复后所有节点 providers 数据正常,前端不再崩溃

N100 Agent Node.js 版完善 (下午 ~16:10)

  • 加入供应商延迟探测每60秒后台异步探测不阻塞心跳
  • 系统指标修复: CPU 用 /proc/stat 差值计算, mem 用 /proc/meminfo, disk 用 df
  • 探测结果: newcli ~8362ms(国内到海外正常), terminalpub TLS断开(不稳定)
  • 面板正常显示 N100 所有信息

OVH 下载状态 (16:20)

  • 74个种子全部完成0个下载中
  • 磁盘: 458GB / 11TB (5%)
  • 待做: 新内容 symlink、小马宝莉选版本、Emby 元数据刮削
  • 创建 symlink: 11个动画系列 91个链接到 /data/media/动画/
  • 新增目录: My Little Pony(2010), Zootopia(2016), Sheriff Labrador vs Lynnia(2024), The Creature Cases(2022), Octonauts China(2023)
  • 补充已有目录缺少的季: Peppa Pig S1-S9+S11, PAW Patrol S1-S11, Octonauts S1-S10+特别篇+电影, Detetive Labrador S1-S3
  • 电影: 疯狂动物城1+2 链接到 /data/media/电影/
  • Emby 库扫描完成: 10个系列 + 2部电影

中文元数据写入 (16:40-17:00)

  • 系列级别: 10个系列全部写入中文名+简介+TMDB ID
  • 电影: 疯狂动物城1+2 写入中文简介+TMDB ID
  • 集级别: 子代理用 tmdb_emby_sync.py 从 TMDB 网页拉取
    • 小猪佩奇 236集全部补完
    • 布鲁伊 20集补完
    • 汪汪队 11集补完
    • 安全警长 17集补完
    • 总计 770→464 缺简介TMDB上国产动画集级别数据缺失

Emby 播放修复 (17:10-17:40)

  • 问题1: 旧服迁移的 library.db 路径不匹配 OVH 实际目录 → 播放 404
  • 问题2: Emby 容器缺 /data/qbittorrent/downloads 挂载 → symlink 目标不可达
  • 问题3: /data/media:/data/media/data/media:/media 双挂载 → 2814集重复(应1383)
  • 修复: 删 library.db 重建,去掉重复挂载,只保留 /data/media:/media + /data/qbittorrent/downloads:ro
  • docker-compose.yml emby volumes 最终:
    • /data/emby/config:/config
    • /data/media:/media
    • /data/qbittorrent/downloads:/data/qbittorrent/downloads:ro
  • 重新添加动画库(/media/动画) + 电影库(/media/电影)
  • 重新写入所有中文元数据(系列+电影)
  • 播放流验证: HTTP 206 正常
  • ⚠️ 扫描后需要重新跑 tmdb_emby_sync.pySeries ID 变了,已更新脚本)
  • 脚本路径: scripts/tmdb_emby_sync.pyID已更新为新library的ID

Emby 重复集数修复 + 播放修复 (17:00-18:00)

  • 根因: 每个系列目录下有两套 symlink (Season格式 + 中文原始名格式) 指向同一下载目录
  • 删除 38 个重复 symlink只保留 Season* 格式
  • 去掉 docker-compose 重复挂载 /data/media:/data/media
  • 最终 volumes: /data/emby/config:/config + /data/media:/media + /data/qbittorrent/downloads:ro
  • 删 library.db 重建3次最终: 11系列 1774集 2电影
  • 1774集 > 旧服1383集因为 OVH 种子版本文件更多(正确)
  • 播放流验证 HTTP 206 正常
  • Emby Series ID 变更: 布鲁伊=1548, 小恐龙=1547, 其余11-19

中文元数据重写 (18:00-18:30)

  • 系列级别: 11个全部写入中文名+简介+TMDB ID (204)
  • 电影: 疯狂动物城1+2 写入 (204)
  • 集级别 tmdb_emby_sync.py 重跑完成: 869集更新
  • 最终: 1025/1774 (58%) 有中文简介

封面上传 (18:35-18:50)

  • Emby 自动刷新无法拉取 TMDB 图片(容器网络问题)
  • 手动: web_fetch 抓 TMDB 页面提取 poster path → 下载 → base64 上传 Emby API
  • 11个系列 + 2部电影全部上传成功
  • ⚠️ TMDB 253041 已被改为"我在80年代给龙凤胎当继母"(真人剧),啦咘啦哆大战羚羚羊封面用视频截图替代
  • 小马宝莉 TMDB ID 20085 不对,用 33765 的封面

集缩略图生成 (18:50-19:40)

  • OVH 安装 ffmpeg脚本 /tmp/gen_thumbs.sh
  • 从视频 40% 位置截取 480px 宽 jpgbase64 上传 Emby API
  • 第一轮: 1774集完成~720张后中断
  • 第二轮: 剩余1055集完成1016张19失败3跳过
  • 最终: ~82% 集有缩略图

TMDB ID 被篡改问题 (19:00-21:00)

  • TMDB TV 269149 被改为 "Drinking with Joe and Maya" → 疯狂动物城系列封面错误
  • TMDB TV 82027 被改为 "车达莱夫人的爱情"(韩剧) → 小恐龙大冒险封面错误
  • TMDB TV 253041 被改为 "我在80年代给龙凤胎当继母" → 啦咘啦哆大战羚羚羊封面错误
  • 修正: 小恐龙大冒险正确TMDB ID = 88910, 小马宝莉正确ID = 33765
  • 疯狂动物城系列(ID 19)用电影版海报(movie/269149), 啦咘啦哆大战羚羚羊用视频截图

缩略图错位修复 (20:00-22:00)

  • 第一轮脚本 gen_thumbs.sh 有 bug: episodes 列表顺序和路径对不上,导致截图张冠李戴
  • 全量重新生成 regen_all_thumbs.sh: 用精确 ID→路径映射1695/1774 成功
  • 补缺脚本 fix_thumbs3.py (Python, 带3次重试): 554/554 全部成功, 0失败
  • 关键: 之前 bash 脚本上传偶尔 HTTP 500, Python 脚本加重试后 0 失败
  • 最终: 1774/1774 集全部有缩略图
  • 每次上传完缩略图后必须重新上传系列封面(缩略图和封面共用 Primary 字段)

Emby 图片上传要点 (教训)

  • Emby API 上传图片: POST /Items/{id}/Images/Primary, Content-Type: image/jpeg, body=base64
  • 直接 POST 原始二进制会 500, 必须 base64 编码
  • 集缩略图和系列封面都用 Primary 字段, 上传缩略图会覆盖系列封面
  • 上传完缩略图后必须重新上传系列封面
  • Emby App 有图片缓存, 更新后需要清缓存才能看到新图

DD 重装脚本修复

  • 移除 set -e,修复 bash <(curl ...) 下 read 遇 EOF 退出的问题
  • Gitea + GitHub 已推送

OC3→netcup 迁移 (深夜)

  • OC3(173.249.215.67) OpenClaw 已停止+删除
  • netcup(159.195.41.188) Debian 13, 8GB RAM, 500G 磁盘
  • 装了 Node.js 22 + git + OpenClaw 2026.2.23 + ffmpeg
  • 从 OC3 打包 .openclaw/ 迁移到 netcup (13MB)
  • 删除 whatsapp 插件,重启正常
  • OC Monitor: 删除 Chicago 节点,添加 netcup 节点
  • OC3 的 oc-monitor-agent 已停止删除
  • 问题: workspace 记忆还是 OC3 旧数据,需要从 Mac mini 同步
  • 同步了 MEMORY.md + memory/ + USER.md + IDENTITY.md + SOUL.md 等
  • 删除 BOOTSTRAP.md 避免重走初始化
  • 删除旧 memory/main.sqlite 索引让它重建
  • 设置 Telegram 中文菜单
  • 踩坑: heartbeat 不是 openclaw.json 合法 key导致配置校验失败崩溃循环
  • 修复: 删掉 heartbeat key心跳通过 HEARTBEAT.md 自动工作
  • 修复 workspace 路径: /data/openclaw-workspace → /root/.openclaw/workspace
  • 语音转文字: 改成 audio.enabled:true 让内置自动检测(旧 Groq key 已失效)

OC3(173.249.215.67) 清理

  • 删除旧脚本: kejilion.sh/panel_install.sh/agent.sh/system_snapshot.sh 等
  • 清理 npm 缓存,磁盘从 68%→65%
  • Docker 容器(Gost+Sub-Store)保留不动

待完成

  • 确认播放正常后停旧服 emby+qB
  • 停旧服 155.103.67.95 的 emby+qB 容器
  • netcup 语音转文字验证Groq key 过期,需新 key 或其他方案)
  • 部署 Jellyseerr/求片系统 on OVH