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)、最新の N 個を ~/.claude-mem/backups/auto/ に保存します。各スナップショットは単独で使用できる SQLite ファイルです。スナップショットはこのマシン内に保存されます。
関係のない設定はすべて保持し、~/.claude-mem/settings.json のモードを
0600 に保ってください。ファイルの内容を表示しないでください。認証情報が含まれています。
振り分け
$ARGUMENTS に基づきます。
setupまたは空欄:1. ステータスを確認してから、2. スナップショットを有効化restore:3. 復元status:1. ステータスを確認のみ
1. ステータスを確認
npx claude-mem backup status
- スナップショットの詳細が表示された場合:バックアップは実行されています。最後のスナップショットの日時、スナップショット数、直近のエラーがあればその内容を報告し、ユーザーから変更または復元を依頼されていない限り終了します。
- 「自動バックアップは有効になっていません」と表示された場合:セットアップ中なら手順 2 に進みます。
- 「最終復元」の行には、直近の復元結果が表示されます。
- 「ワーカーが実行されていません」と表示された場合:
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
最初の自動スナップショットは、ワーカーの起動から約 5 分後に作成されます。今すぐ作成するには、次を実行します。
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 を実行すると、「最終復元」の行が表示されます。成功した場合は保存されたコピーの名前が、失敗した場合は理由が表示され、ワーカーは元のデータベースを保持します。
4. 報告
スナップショット数、最後のスナップショットの日時、エラーがあればその内容、復元が行われていた場合はその最終結果を報告します。