Files
server-ops/daily/2026-06-20.md

3.4 KiB
Raw Blame History

2026-06-20 运维实录

有声书服务全线搭建

Audiobookshelf 部署

  • Docker 部署 ghcr.io/advplyr/audiobookshelf:latest端口 13378
  • Caddy 反代 podcast.xybkwd.top
  • 手机端希声 App 同步收听

章节排序三层同步铁律

只改文件名不生效Audiobookshelf 按三层数据排序:

字段 规则
文件系统 文件名 01-标题.mp3 数字前缀
books.chapters start(秒) 连续递增
books.audioFiles index 1→2→3→...

下载→归档工作流

yt-dlp 下载(带 upload_date) → 排序 → 加前缀
  → audiobooks/节目名/
  → archive_old_audio.sh <节目> 3 (淘汰旧集到 archive_pending/)
  → sync_archive.sh (SCP到 D:/服务器备份/有声书/)
  → watcher 自动检测 → 希声同步

本地归档

  • D:/服务器备份/有声书/<节目名>/ (D盘 392G)
  • 脚本: archive_old_audio.sh / sync_archive.sh

有声书内容

节目 集数 来源 状态
渤海小吏·八王之乱 5集 B站
纵横四海 3集 B站
翟东升 - YouTube 需cookies
Elon Musk 99集 本地导入

踩坑

  1. 数据库误删 — 任何 DB/cache 操作必须先确认
  2. 章节排序是 start 时间戳,不是文件名字母序
  3. SCP 中文路径失败 — 需临时英文路径中转
  4. 容器有 watcher不需要重启
  5. B站用 -f worst 最小化下载,每集 ~40MB
  6. YouTube 需要 cookies 认证

文档体系

  • server-ops: TIMELINE + CHANGELOG + DECISION_LOG 全面补全
  • dashboard: CHANGELOG v1.4.0
  • nav-page: CHANGELOG v1.0.3
  • inspiration-collector: CHANGELOG v2.2 + 文章20_服务器
  • 服务清单 10→17 项

今日感悟

  • "不可越过":管线通了就收手,知道什么时候够了
  • "车马华服":客户端追求渲染,服务器追求完成
  • 三层记忆WorkBuddy + 项目级 + 宏观,比空白强

23:15 阅读日报时间窗口修复

问题daily_report_ai.pyload_today_data() 使用 date_str = datetime.now().strftime("%Y-%m-%d") 严格按日历日过滤。22:00 后的晚间阅读(标记为当日日期)会被次日的严格日历过滤漏掉。

修复

  • parse_time_from_line → 改为捕获完整 datetime 对象
  • load_today_data → 改为 24 小时滚动窗口(since_dt = now - 24h
  • 文件:/home/ubuntu/weread-sync/daily_report_ai.py
  • 验证:python3 -m py_compile 通过
  • 生效:明日 22:00 cron

教训:任何"每日"定时任务如果用日历日过滤必须考虑夜间时段的归属。滚动窗口过去N小时比日历日更鲁棒。

23:25 🔴 两大核心服务时间窗口铁律固化

日报 cron 分支分歧修复

  • 根因:两条线推同一个 inspiration-collector 仓库撞车WorkBuddy推文章 vs cron推日报
  • 修复:run_daily_digest.sh 增加 git pull --rebase before push
  • 以前没出过是因为以前推文顺序在日报之后

阅读日报 24h 滚动窗口修复

  • 问题:daily_report_ai.pyload_today_data() 严格按日历日过滤,晚间阅读漏入次日间隙
  • 修复:改为 since_dt = now - timedelta(hours=24) 时间戳比较
  • 经验:任何"每日"定时任务,滚动窗口比日历日更鲁棒

三层文档已同步

  • 项目级weread-notes Gitea (commit 2508746)
  • 宏观server-ops DECISION_LOG + daily
  • 本地Claw MEMORY.md 铁律