config
alias: cfg
备份 / 回滚配置声明文件。不加载配置、不访问网络、不碰数据库——即使当前配置已经改坏也能运行,是“改配置前留后路“的安全网。
备份范围
| 内容 | 说明 |
|---|---|
thurgio.yaml | 主配置 |
provider.yaml / params.yaml / rename.yaml / filter.yaml / snippet.yaml | 5 个 sibling 声明文件 |
tpls/ | 模板目录(递归复制;符号链接与特殊文件跳过) |
只复制实际存在的文件(缺失的声明文件跳过,部分配置按现状备份);ruleset.yaml 不在备份清单中。
backup
thurgio config backup [-d, --dir <DIR>]
| 参数 | 默认值 | 说明 |
|---|---|---|
-d, --dir | <root>/backups/<YYYYMMDD-HHMMSS> | 备份目标目录 |
- 目录名为本地时间戳;同一秒内多次备份自动追加
-1、-2后缀。 - root 中找不到任何声明文件时报错并清理空目录。
- 成功输出
✔ Backup created: <路径>。
restore
thurgio config restore <target>
| 参数 | 说明 |
|---|---|
target | 备份名(backups/ 下的子目录名)、绝对路径或相对 root 的路径(含路径分隔符时按路径解析) |
执行过程:
- 校验目标存在且包含至少一个声明文件(否则报错,不触碰当前状态)。
- 先把当前状态自动备份到
backups/<时间戳>(保险)——当前状态为空则跳过。 - 覆盖写回声明文件与
tpls/:只恢复备份中包含的内容,不删除 root 中的其他文件。
安全护栏:拒绝把 root 目录自身当作备份源(防止自我复制循环)。
成功输出 ✔ Restored from '<target>' (current state backed up at <路径>)。
list
thurgio config list
列出 backups/ 下所有备份目录(名称 + 本地时间修改时间),最新在前:
Available backups in /root/path/backups:
20260814-153000 2026-08-14 15:30:00
20260814-120000 2026-08-14 12:00:00
示例
# 改配置前备份
thurgio config backup
# 改坏了,回滚
thurgio config list
thurgio config restore 20260814-153000