mcpField
B
backup-setup

backup-setup

github.com/thedotmack数据与数据库104.0k46 次安装今天更新
代码仓库

关于 backup-setup

backup-setup 是用于配置、检查和恢复 claude-mem SQLite 数据库本地定时快照的技能。它指导设置快照间隔与保留数量,并查看备份和恢复状态。

主要功能

  1. 01检查自动备份状态
  2. 02设置快照间隔与保留数量
  3. 03立即创建快照
  4. 04列出并恢复快照
  5. 05查看恢复结果

适用场景

  1. 01确认定时快照是否运行
  2. 02设置备份频率和保留数量
  3. 03从快照恢复数据库

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/thedotmack/claude-mem --skill backup-setup

安装后在 Claude Code 中输入/backup-setup确认已加载。

详细介绍

备份(本地快照)

已安装的工作进程会按计划对 ~/.claude-mem/claude-mem.db 创建快照 (使用 VACUUM INTO,会话运行期间也能保持一致性),并在 ~/.claude-mem/backups/auto/ 下保留最新的 N 个快照。每个快照都是独立的 SQLite 文件。 快照保留在此计算机上。

保留所有无关设置,并确保 ~/.claude-mem/settings.json 的模式为 0600。切勿打印文件内容:其中包含凭据。

路由

根据 $ARGUMENTS:

  • setup 或为空:1. 检查状态,然后 2. 启用快照
  • restore:3. 恢复
  • status:仅执行 1. 检查状态

1. 检查状态

npx claude-mem backup status
  • 已打印快照详情:备份正在运行。报告上次快照时间、快照数量和任何错误;除非用户要求更改设置或恢复,否则停止。
  • "Automatic backups are not enabled":如果正在设置,则继续第 2 步。
  • "Last restore" 行会报告最近一次恢复的结果。
  • "Worker is not running":使用 npx claude-mem start 启动工作进程,然后重试。

2. 启用快照

询问(或使用默认值):间隔小时数(默认值为 24,范围为 1 到 168)以及保留的快照数量(默认值为 7,范围为 1 到 100)。然后写入设置,不要回显文件中的其他内容:

node - <<'EOF'
const fs = require('fs'), os = require('os'), path = require('path');
const intervalHours = 'PASTE_INTERVAL_HOURS_HERE'; // e.g. '24'
const retainCount = 'PASTE_RETAIN_COUNT_HERE';     // e.g. '7'
const dir = path.join(os.homedir(), '.claude-mem');
const file = path.join(dir, 'settings.json');
fs.mkdirSync(dir, { recursive: true });
const settings = fs.existsSync(file) ? JSON.parse(fs.readFileSync(file, 'utf8')) : {};
const target = settings.env && typeof settings.env === 'object' ? settings.env : settings;
target.CLAUDE_MEM_BACKUP_ENABLED = 'true';
target.CLAUDE_MEM_BACKUP_INTERVAL_HOURS = intervalHours;
target.CLAUDE_MEM_BACKUP_RETAIN_COUNT = retainCount;
fs.writeFileSync(file, JSON.stringify(settings, null, 2) + '\n', { mode: 0o600 });
fs.chmodSync(file, 0o600);
console.log('backups enabled: every ' + intervalHours + 'h, keeping ' + retainCount);
EOF

重启工作进程以启动计划任务,然后通过第 1 步确认:

npx claude-mem restart
npx claude-mem backup status

第一个自动快照会在工作进程启动约五分钟后生成。若要立即创建快照:

npx claude-mem backup run

3. 恢复

npx claude-mem backup list
npx claude-mem restore <file>
npx claude-mem backup status

restore 会暂存快照并重启工作进程(如果工作进程尚未运行,也会启动它)。新工作进程会在打开数据库前替换数据库,将被替换的数据库保存在同一文件夹中,文件名为 claude-mem-<timestamp>-pre-restore.db(恢复此文件即可撤销操作;该文件计入保留数量),并记录操作结果。启用云同步后,恢复的数据库会从快照所处的位置继续同步,并可能拉取快照之后同步到云端的更改。之后,backup status 会打印一行 "Last restore":成功时会显示保存副本的名称;失败时会说明原因,且工作进程会保留原有数据库。

4. 报告

报告快照数量、上次快照时间、任何错误,以及上次恢复的结果(如有)。

评论

支持 Markdown