DEBUG.WIKI
V.PS:让项目靠近用户,亚太、欧洲、北美 KVM VPS
IPPeak:从目标地区访问网页,住宅代理、SEO 监测、广告验证
ZgoCloud:多地区部署,按需选节点;日本、美国、香港、德国

restic 0.19 --latest 1 只剩一条,显式保留 host 与 paths 分组

restic 0.19 的 --latest 1 默认按整体结果筛选,可能让多组快照列表只剩一条;使用 --group-by host,paths 可显式取得各组最新快照,并核对 JSON 结构。

升级 restic 后,仓库里明明有多个主机和路径的快照,snapshots --latest 1 却只显示一条。先不要做恢复或清理:列表数量变化不等于快照被删。restic 0.19.0 的这一行为与列表命令的默认分组方式变化有关。

在 0.18.1 中能够看到多个 host、paths 组的最新快照,升级到 0.19.0 后,同样的命令可能从全部结果中只取最新一个。0.19 的分组控制允许通过 --group-by 显式指定;需要保留原来的“每个主机及路径组合取一条”语义时,就把分组写出来。

沿用已经配置好的仓库与密码读取方式,先看完整列表,再作分组对照:

restic version
restic snapshots
restic snapshots --latest 1
restic snapshots --latest 1 --group-by host,paths

这几条命令用于查看快照,不执行 forget、prune 或 restore。不要为了找回列表项先运行删除或修复命令,也不要把仓库密码填进共享命令记录。

这里的 1 指每个选定组中保留最新一条。组键包含 host 与 paths:同一主机的不同路径组合可能属于不同组,同一组也可能有多条历史快照。验收应根据完整列表里真实存在的组比较各组最新 ID,而不是要求输出数量必须等于某个固定数字。

如果脚本只想取得整个仓库最新一个快照,原来的默认筛选可能正符合需求;只有需要每组最新时,才显式添加分组。不要把这个设计变化称为快照存储故障,也没有证据要求你通过升级某个“恢复旧默认”的正式修复版来解决它。

自动化使用 JSON 时还要检查结构,不能只给原命令加参数就假定解析器继续工作:

restic snapshots --json --latest 1 --group-by host,paths

分组 JSON 结果包含组信息与组内快照,消费者需要按实际输出调整提取路径。先在受控环境保存输出、确认快照 ID、host 和 paths 的对应关系,再更新后续报表或脚本。若脚本后面会执行恢复或保留策略,须在接入前人工核对目标 ID,避免把新的输出形状误读成另一份快照。

这项处理仅恢复你希望的列表筛选语义。仓库访问失败、真实快照缺失、保留策略删除或路径变化,需要另外诊断。显式写出分组还能让脚本合同更清楚,避免默认设置变化影响输出判断。