dsh-env-backup:DSH 环境自动备份插件

前言

DSH 环境开发中,插件安装或更新可能改变插件表,导致配置混乱。若环境损坏,回退是必要的。dsh-env-backup 插件在插件表变化时自动备份 ~/.dsh/profiles/web 目录,通过轮转命名和保留策略防止环境丢失。

插件定位

dsh-env-backup 是一个 DSH 环境自动备份插件,由 ikanger 维护。它解决的问题是:在插件安装/更新导致 web 插件表变化时,自动备份 ~/.dsh/profiles/web 目录,支持轮转命名和保留策略自动清理。

核心功能

  1. 自动触发:支持启动时指纹比对、周期检查、插件表事件和手动触发。
  2. 轮转命名:最新备份为 web.latest_bak,旧备份数字时间戳。
  3. 保留策略:支持配置 retentionDays(保留天数)、maxBackups(最大备份数)和 backupDir(备份目录)。
  4. 设置页集成:提供备份目录、保留时长、立即备份和恢复指引的设置项。
  5. 精准清理:仅清理匹配 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。

结语

该插件通过自动化备份流程,降低了环境配置丢失的风险。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜