【免费下载链接】CrossWatch
Synchronize your data across media servers, media agents and trackers. Keep your movies and shows in sync, no matter where you watch.
CrossWatch 是一个在媒体服务器、媒体代理与追踪站点(Trakt、SIMKL 等)之间同步电影、剧集数据的开源工具,其中的Captures功能可以为你收藏、评分、观看历史、进度和合集拍下一份完整"快照"。一旦同步改坏了 Trakt 收藏或误删了数据,你可以一键回滚到任意一份快照,让数据快速恢复原样。
为什么你需要 CrossWatch 数据回滚
日常使用同步工具时,这些场景几乎每个用户都会遇到:
- 🗑️误删除:在 Trakt 收藏里手滑删掉了一整批影片
- 🔄同步出错:双向同步把不该删除的条目清掉了
- 🧪试错改动:批量改评分、整理合集,结果改乱了
- ⚠️数据漂移:多次同步后,收藏列表和服务器里的对不上了
CrossWatch 的 Captures(快照/回滚)功能正是为此而生:它在本地保存某个 Provider 某项功能的完整数据副本,支持对比差异(Compare/Diff)与一键恢复(Restore),回滚 watchlist、ratings、history、progress、collections 五类数据。相关实现见 services/snapshots.py 与 api/snapshotsAPI.py。
第一步:为 Trakt 收藏创建一份 Captures 快照
最佳习惯:在动手批量修改或运行大同步之前,先留一份快照。
在 Web 界面中,点击顶部导航栏的Captures标签(源码:assets/js/snapshots.js),打开Create capture面板:
- 选择 Provider:TRAKT
- 选择要备份的功能(feature):
watchlist(收藏)ratings(评分)history(观看历史)progress(进度)collection(合集)- 也可以一次备份全部功能,生成一个 capture bundle
- 点击创建,界面会显示实时进度,完成后快照即出现在列表中
快照按日期归档保存在本地snapshots目录中,文件名带有时间戳,例如TRAKT_watchlist_2026-10-22_...,方便你一眼认出"上周的备份"。
第二步:改坏了 Trakt 收藏?一键回滚
发现收藏被改坏后,回到 Captures 页面,勾选出问题之前的那份快照,右侧会出现Restore capture恢复面板,提供两种恢复模式:
| 恢复模式 | 行为 | 适用场景 |
|---|---|---|
| Merge missing(补回缺失) | 只把快照里有、但你现在没有的条目加回来 | 误删了收藏,想补回被删的条目 |
| Replace(完全替换) | 把目标数据重置成与快照完全一致 | 数据大面积错乱,想精确回到快照时刻 |
操作步骤:
- 选中快照 → 选择恢复模式(
Merge missing或Replace) - 选择目标 Provider 实例
- 点击Restore capture并二次确认
- 等待进度条完成,界面会提示
Restore complete以及新增/删除的条目数
💡 建议先用Merge missing试探性地补回数据;只有确认需要彻底重置时,才使用Replace。
用 Capture Compare 对比两次快照差异
不确定哪次改动出了问题?CrossWatch 内置了Capture Compare对比页(源码:assets/js/capture-compare/):
- 在 Captures 列表中勾选任意两份快照,选择 Compare
- 对比页会列出两个时间点之间的所有变更:Added(新增)/ Removed(删除)/ Updated(修改)
- 点击具体条目,可并排查看变更前后(A · Before / B · After)的完整字段
- 支持按标题、ID 搜索,按媒体类型(电影/剧集/季/集)和变更类型筛选
这样你能精确定位"上周和这周之间,我的 Trakt 收藏到底少了什么",再决定回滚到哪一份快照。
用命令行回滚:cw capture 命令
如果你习惯终端操作,CrossWatch 提供了完整的 CLI(源码:cli/commands/capture.py,完整文档见 cli/README.md):
# 1. 列出所有快照(路径、Provider、功能、时间、条目数、大小) cw capture list # 2. 查看某份快照的原始内容 cw capture read <path> # 3. 对比两份快照,只看变化项 cw capture diff <older> <newer> # 4. 先做演练:只报告会改动什么,不做任何修改 cw capture restore <path> --dry-run # 5. 确认无误后,真正执行回滚 cw capture restore <path> --yes # 6. 删除不再需要的快照 cw capture delete <path>--dry-run参数是安全回滚的关键:先用它预演一遍改动范围,再正式执行,避免误操作。
自动定时快照:每周自动留一份保险
手动备份容易忘记,CrossWatch 的调度器(services/scheduling.py)支持配置定时快照任务(capture jobs):
- 在 Settings →Scheduling中添加定时快照任务
- 指定 Provider 与功能(例如每周一自动备份 TRAKT watchlist)
- 可设置
max_captures(保留份数),自动清理过旧的快照,避免占满磁盘
这样即使某天同步把 Trakt 收藏改得一团糟,你始终有一份本周早些时候的自动快照可以回滚,真正做到"一键回到上周"。
常见问题
Q:快照会覆盖 Provider 上的数据吗?不会。创建快照只是读取;只有你主动执行 Restore 时,CrossWatch 才会把数据写回 Trakt 等 Provider。
Q:Replace 模式会把新看的内容也删掉吗?会。Replace 会让目标数据与快照完全一致,快照之后新增的条目会被移除。想只补回被删条目请选 Merge missing。
Q:在哪里可以清空所有快照释放空间?Captures 页面支持单条删除;如需全部清除,可使用cw capture clear或在 Settings → Maintenance 中执行(源码:assets/js/maintenance/index.js)。
Q:快照存在哪里?保存在 CrossWatch 服务器本地的snapshots目录(按日期分文件夹),重启服务后依然可用,恢复不依赖网络。
小结:养成"改前留快照"的习惯,配合定时任务与--dry-run演练,CrossWatch Captures 能让 Trakt 收藏、评分、观看历史等数据在出问题时快速、安全地回滚到任意时间点。
【免费下载链接】CrossWatch
Synchronize your data across media servers, media agents and trackers. Keep your movies and shows in sync, no matter where you watch.
相关推荐
OpCore Simplify 完整指南:从硬件报告自动产出可启动的 OpenCore EFI
OpCore Simplify 完整指南:从硬件报告自动产出可启动的 OpenCore EFI 在 PC 上装 macOS,最劝退的往往不是安装本身,而是准备工
开发工具CLIAI 改坏代码怎么办?FanBox 回合存档:每轮自动快照 + 一键回滚,把恐惧变成一个按钮
AI 改坏代码怎么办?FanBox 回合存档:每轮自动快照 + 一键回滚,把恐惧变成一个按钮 让 AI 改代码爽是爽,但"它刚才到底动了哪些文件"往往只有天知道
开发工具桌面应用AI 应用代码智能体AI 技能大麦抢票工具实测:Python 自动抢票脚本 9 分钟跑通,最易翻车的 4 处配置
大麦抢票工具实测:Python 自动抢票脚本 9 分钟跑通,最易翻车的 4 处配置 开票前 41 秒我填完配置按下运行,开票后第 3 秒脚本已停在"确认订单"页
RPA
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考