关于 backup-setup
backup-setup 是用于配置、检查和恢复 claude-mem SQLite 数据库本地定时快照的技能。它指导设置快照间隔与保留数量,并查看备份和恢复状态。
主要功能
- 01检查自动备份状态
- 02设置快照间隔与保留数量
- 03立即创建快照
- 04列出并恢复快照
- 05查看恢复结果
适用场景
- 01确认定时快照是否运行
- 02设置备份频率和保留数量
- 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. 报告
报告快照数量、上次快照时间、任何错误,以及上次恢复的结果(如有)。