🚀 新規事業

snapshot-system

最終更新 2026年05月04日 / 40_新規事業/SCALE_Build/カタログ/機能集/snapshot-system.md

tar.gz スナップショット復元システム

用途

編集前 / デプロイ前 / 任意のタイミングで tar.gz スナップショットを取得・復元。
- node_modules / .next / out / .wrangler は除外
- 30世代保持(自動削除)
- Primary(Drive同期)+ Local(PC内)の二重保存

コード骨格

#!/bin/bash
TS=$(date +%Y-%m-%d_%H%M%S)
LABEL="${1:-untitled}"

# 二重保存
PRIMARY="$HOME/Library/CloudStorage/.../<project>-backups"
LOCAL="$HOME/<project>-backups"

for DIR in "$PRIMARY" "$LOCAL"; do
  mkdir -p "$DIR"
  tar --exclude=node_modules --exclude=.next --exclude=out --exclude=.wrangler \
    -czf "$DIR/<project>_${TS}_${LABEL}.tar.gz" -C "$ROOT" .
done

# 30世代保持・古いの削除
ls -t "$PRIMARY"/*.tar.gz | tail -n +31 | xargs rm -f 2>/dev/null

復元

bash scripts/snapshot.sh --restore=2026-05-04_141100
# /tmp/<project>-restore-<ts>/ に展開される