tar.gz スナップショット復元システム
:LiTarget: 用途
編集前 / デプロイ前 / 任意のタイミングで tar.gz スナップショットを取得・復元。
- node_modules / .next / out / .wrangler は除外
- 30世代保持(自動削除)
- Primary(Drive同期)+ Local(PC内)の二重保存
:LiCode: コード骨格
#!/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>/ に展開される