维护与备份

安排每天的例行工作,清理文件已不在的条目,备份并恢复 Cirvel 的数据。

管理面板的维护页,显示维护时段与每日工作
管理面板,数据为示例

11.1维护时段

Cirvel 与 Plex 共用一个维护时段,就是 Plex 设置「计划任务」里的那一个。在「维护」页拖动时间轴上的时段或两端修改,同时写入 Plex。Plex 没有设置时按它的默认时段,凌晨 2 点到 5 点。

不想等到维护时段时,点「立即维护」按顺序执行全部打开的工作,也可以对单项点「立即执行」。

11.2每日工作

维护时段开始后,下面的工作按顺序逐项执行,一项结束再开始下一项,每一项可以在「维护」页设为每天、每周某一天或关闭。访问网盘的片头片尾补全、STRM 内容识别补算、STRM 进度条预览与章节图以及远端校验排在最后,受「后台每小时请求上限」约束。时段结束时,本地的工作做完为止,访问网盘的停下,没轮到的第二天再做,这四项里上次没轮到的先做。某一项上次被跳过时,这一行写着原因与出路,例如关闭静默分析后恢复、打开这项功能后下次维护时执行,或者下次维护时会再试、不用处理。

缺失文件检查
核对 Plex 里的媒体文件是否还在磁盘上,只检查不清理,结果显示在「维护」页。
备份
按「备份」页选择的内容备份一份。时段内没轮到时,时段结束后立即补上,保证每天有一份。
缺失文件自动清理(Pro,默认关闭)
见下文的「清理缺失文件」。
中文化整库比对(Pro)
把启用范围内的全部条目比对一遍,补上平时漏掉的改动,不访问网盘。新入库与刷新的条目平时随时处理,每 5 分钟还有一轮增量,都不等维护。
整理 Cirvel 数据
默认每周日,删掉已删除的条目与媒体库留下的记录和用不上的文件,再压缩 Cirvel 的数据库,维护页这一行写着删掉了多少、腾出多少空间。备份关闭时照常执行。
元数据体检
每天体检全部媒体库,Pro 下按「元数据」页的开关自动修复,填了 TMDB API key 时顺带检查缺集。
演职人员补全(Pro)
重新查询来源超过 7 天仍未收录的作品,填了新的 key 或启用新来源后也在这时补上。新入库的作品入库后自动处理,不等维护。
片头片尾补全(Pro)
为还没有片头片尾的条目补上标记。补读章节这类要访问网盘的工作只在这时进行,时段结束即停。从本地同源文件复用标记不访问网盘,新条目入库后随即处理。
STRM 内容识别补算(Pro)
为已分析的 STRM 读开头与结尾各一小段,记下内容识别码,之后链接变了也能认出同一个文件,不必重新分析。每个文件只补一次,打开静默分析时不自动执行,可以在「维护」页手动执行。
STRM 进度条预览与章节图(Pro)
「为 STRM 生成进度条预览」打开时,为只有 STRM 的条目生成进度条预览与章节图,见「媒体信息」一章的「STRM 进度条预览」。打开静默分析时不自动执行,可以在「维护」页手动执行。
远端校验(Pro,默认关闭)
见「媒体信息」一章的「远端校验」。

同一页的「Plex 的任务」列出 Plex 自己在这个时段执行的任务,例如备份与优化数据库、生成片头标记与片尾标记、生成视频预览缩略图与章节缩略图,这里的开关与 Plex 的设置双向同步。

11.3清理缺失文件

「维护」页的「缺失文件」列出 Plex 里文件已不在磁盘上的条目。清理只删除 Plex 里的记录,不碰磁盘上的文件。读不了的目录,例如网盘未挂载,整个跳过,不算缺失。

文件已删除
所在目录还在,点「清理」让 Plex 扫描这些目录并移除条目,与在 Plex 里点扫描的结果一样。条目多时 Plex 需要几十秒到几分钟。
目录不存在
Plex 自己永远不会清理,请逐个选择「从媒体库移除」「只清条目」或「保留」。

免费版每天检查,手动清理。Pro 在「维护」页把「缺失文件自动清理」设为每天或每周某一天后(默认关闭),在维护时段自动清理文件已删除的条目。一个目录缺失超过两成或超过 500 个文件时可能是存储没挂载,自动清理跳过它,确认存储正常后在「维护」页手动清理。整个不存在的目录不自动处理。

手动清理前先确认存储已经挂载。挂载断开时清理,会让这些条目连同观看记录一起从 Plex 消失。

11.4改动记录

「维护」页的「改动记录」列出 Cirvel 替你在 Plex 里做过的一次性改动,包括元数据的修正匹配、合并、拆分、季集排序与语言,Edition 标签把拆出的条目合并回去,以及跳过前集进度标上的集。每一行写着改了什么、什么时候、是自动还是手动,可以按能力筛选。

逐条撤销
能撤销的点「撤销」,撤销本身也记一条。不能撤销的写着原因,例如之后在 Plex 里又改过,或者已经超过一年。查看与撤销免费版同样可用,Pro 能力留下的改动也一样。
条目详情
在「查找条目」里打开电影、剧、季或单集,「最近的改动」列出这个条目上各项能力的改动,单集上的跳过前集进度在剧上也看得到。
保留一年
记录保留一年,之后在维护时段里清理。

中文本地化、演职人员中文化与 Edition 标签写下的值由 Cirvel 持续维护,不在这里逐条列出,想恢复原样时用各自页面的还原。

11.5Plex 数据库体检

维护队列里的「Plex 数据库体检」默认每周日在维护时段里检查一次 Plex 数据库是否完好,检查时 Plex 照常运行,免费版同样可用。结果显示在维护页这一行下方。

正常
显示数据库的大小。
发现问题
说明是索引损坏还是数据损坏,页首的「需要处理」同时提示。
没能检查
写明原因,下次再查。

打开「检查通过后压缩」(Pro)后,检查通过时先做一份含 Plex 数据库的备份,再让 Plex 压缩数据库,并记下压缩前后的大小。备份没有成功或维护时段已经结束时不压缩。

发现问题时 Cirvel 不会自动修复。数据损坏建议按「从备份恢复」里的步骤手动恢复 Plex 数据库。只是索引损坏时,可以先在主机上重建索引,把下面的 cirvel 换成你的容器名。

  1. 1在备份页立即备份一次,勾选 Plex 数据库。
  2. 2执行 docker exec cirvel s6-svc -d /run/service/svc-plex 停止 Plex。
  3. 3执行 docker exec cirvel "/usr/lib/plexmediaserver/Plex SQLite" "/config/Library/Application Support/Plex Media Server/Plug-in Support/Databases/com.plexapp.plugins.library.db" "REINDEX;" 重建索引。
  4. 4执行 docker exec cirvel s6-svc -u /run/service/svc-plex 启动 Plex,回到维护页对这一行立即执行一次检查。

11.6备份

Cirvel 每天在维护时段里自动备份一次,所有版本都可用。备份的频率在「维护」页的每日工作里改,内容、目录与保留天数在「备份」页的设置里调整。

  • Cirvel 数据库 默认备份,包含设置、许可、TMDB key 等凭据、片头片尾记录与演职人员缓存。
  • Plex 数据库 可选,包含媒体库、观看记录与元数据,体积较大,备份期间需要额外的临时空间。
  • 两项至少选一项。备份时不必停止 Plex,取的是同一时刻的一致快照。
  • 备份目录默认是 /config/cirvel/backups,跟随配置目录一起保留。改到别处时填容器里的绝对路径,并选挂载的目录,否则重建容器时备份会一起丢失,保存时会检查能否写入。换目录后原目录里的备份不再列出,也不再自动清理。
  • 配置目录只有容器的运行用户可读,经 SMB、NFS 或宿主机上的其他账号取备份文件时,请使用与 PUID 对应的账号。
  • 默认保留 30 天,填 0 表示不自动删除。每次备份完成后删除过期的备份,只删 Cirvel 自己命名的备份文件,目录里的其它文件不受影响。
  • 片头片尾的内容特征体积较大,不放进每天的备份,每周在备份目录里另存一份,没有变化时不存,保留最近 3 份。

随时可以点「立即备份」,在备份列表里下载或删除某一份。

备份文件没有加密,含 TMDB key 等凭据与许可信息,下载后请妥善保管,不要分享给他人。

11.7从备份恢复

  1. 1在「备份」页的备份列表里,从要恢复的那一份的菜单选「恢复」。
  2. 2阅读说明,勾选「我了解当前的 Cirvel 数据会被替换」,点「恢复」。
  3. 3完成后面板重新读取设置。

恢复只替换 Cirvel 数据库,设置、片头片尾记录与分析记录回到备份时的状态。恢复前会自动为当前的数据库做一份备份,不满意时可以用它再恢复回来。当前的许可保持不变,Plex 数据库不受影响。恢复同一台 Plex 的备份时,片头片尾的内容特征保持现在的内容,不随备份回退。备份来自另一台 Plex 时,换成那台服务器的内容特征,按 Plex 条目记下的状态随即清空,之后按这台 Plex 重新对应。

换了服务器或重建了 Plex,又不想丢掉新服务器上已有的数据时,用「合并到本机」代替恢复。把旧服务器的备份文件放进备份目录,经 SMB、NFS 或宿主机放入时请使用与 PUID 对应的账号,然后在备份列表里从那一份的菜单选「合并到本机」,弹窗先列出会补上的片头片尾分析、STRM 媒体信息与跳过选择的数量。合并只补本机缺少的数据,已有的一律保留,设置与许可不受影响,过程中不读网盘,合并前同样会自动做一份备份。

Plex 数据库只能在 Plex 停止时替换,面板不提供一键恢复。需要时展开备份页底部的「手动恢复 Plex 数据库」,按步骤在主机上操作。