前言¶
DSH 环境开发中,插件安装或更新可能改变插件表,导致配置混乱。若环境损坏,回退是必要的。dsh-env-backup 插件在插件表变化时自动备份 ~/.dsh/profiles/web 目录,通过轮转命名和保留策略防止环境丢失。
插件定位¶
dsh-env-backup 是一个 DSH 环境自动备份插件,由 ikanger 维护。它解决的问题是:在插件安装/更新导致 web 插件表变化时,自动备份 ~/.dsh/profiles/web 目录,支持轮转命名和保留策略自动清理。
核心功能¶
- 自动触发:支持启动时指纹比对、周期检查、插件表事件和手动触发。
- 轮转命名:最新备份为
web.latest_bak,旧备份数字时间戳。 - 保留策略:支持配置
retentionDays(保留天数)、maxBackups(最大备份数)和backupDir(备份目录)。 - 设置页集成:提供备份目录、保留时长、立即备份和恢复指引的设置项。
- 精准清理:仅清理匹配
web.latest_bak或web.<12位时间戳>的备份目录。
安装与启用¶
安装命令如下:
dsh plugin --profile web add github:<你的用户名>/dsh-env-backup
安装后需重启 dsh 才能生效。
典型用法¶
环境恢复¶
若环境崩溃:
1. 停止 dsh。
2. 将备份目录中的 web.latest_bak(或某个 web.YYYYMMDDHHMM)复制回 profiles/web。
3. 重新启动 dsh。
配置备份策略¶
可在设置页调整保留策略,配置会持久化到 ~/.dsh/web-backup.json。
注意事项¶
- 备份目录默认为
~/.dsh/profiles。 - 配置文件生成位置为
~/.dsh/web-backup.json。 - 插件以 bundle 形式写入 profile 的
dsh.profile.bundles。 web.latest_bak是插件表变化后生成的备份,若损坏请回退到web.YYYYMMDDHHMM。
结语¶
该插件通过自动化备份流程,降低了环境配置丢失的风险。