⚠️ 内部資料 / 社外配布禁止
⚡ Active: 0 セッション
CHAPTER 10 / DISASTER RECOVERY

🚨 緊急事態:Mac 復元

MacBook mini が壊れた/盗難・紛失/OS 再インストール時の完全復旧フロー
担当: トラジ(A07 社内開発・自動化)

🎯 結論:Time Machine だけで「ほぼ」戻せる、ただし手動補完が 5 ヶ所

戻せるもの(Time Machine 完全カバー):
  • ~/claude/ 全体(PARA 構造、スキル、スクリプト、設定)
  • ~/_credentials/(OAuth トークン、API キー、env ファイル群)
  • ~/.claude/(Claude Code 設定、メモリ、エージェント定義)
  • ~/Library/LaunchAgents/(自動実行 .plist ファイル)
  • /Applications/(インストール済みアプリ)
  • macOS システム設定、Keychain、Wi-Fi、Bluetooth ペアリング
戻らないもの(手動補完が必要):
  1. LaunchAgent の load 状態(ファイルは戻るが起動はしない → 再 load 必要)
  2. Homebrew・Node・Python のシステムインストール状態(CLI ツールが動かなくなる場合)
  3. Claude Code CLI・Codex CLI の本体(npm global なので要再インストール)
  4. Cloudflare Tunnel のサービス常駐(再 install 必要)
  5. Discord Bot の常駐プロセス(LaunchAgent 再 load で復活)
外部に保管されているもの(Mac 喪失でも安全):
  • Google Drive 上の全ファイル(議事録、クライアント資料、スプシ)
  • Notion DB(ES Thailand 5 DB、CAC 統合会員マスター)
  • GitHub リポジトリ(コードのバックアップ)
  • Cloudflare Pages(マニュアルサイト本体)
  • WordPress(記事配信)
  • Discord サーバー(会話履歴)
→ これらは Mac が物理的に壊れても 無事

📋 復旧フロー(推奨:上から順に)

1 新しい Mac を用意

  • Apple Store or 中古ショップで MacBook 購入
  • macOS 起動 → 言語・地域設定
  • Apple ID でログインしない(移行アシスタントが先)

2 Time Machine から移行

  • セットアップアシスタントで「Mac、Time Machine バックアップ、または起動ディスクから情報を転送」を選択
  • 外付け Time Machine ディスクを接続
  • 最新スナップショット(できれば壊れた直前の日付)を選択
  • 全項目(ユーザ・アプリ・システム設定・その他のファイル)にチェック
  • 転送開始(数 GB〜数十 GB、1〜3 時間)
所要時間目安: 外付け SSD なら 1 時間、HDD なら 3〜6 時間。寝る前に開始推奨。

3 再起動後の確認(最初の 10 分)

cd ~/claude && ls -la
ls ~/_credentials/ | head
ls ~/.claude/agents/ | head
  • 3 つのフォルダが存在することを確認
  • ~/_credentials/*.env が中身も含めて復元されているか

4 CLI ツールの再インストール

ツール確認コマンド復元コマンド
Homebrew brew --version /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Node.js node --version brew install node
Python 3 python3 --version macOS 標準(通常不要)
Claude Code CLI claude --version npm install -g @anthropic-ai/claude-code
Codex CLI codex --version npm install -g @openai/codex
Wrangler (Cloudflare) wrangler --version npm install -g wrangler
gh (GitHub CLI) gh --version brew install gh

5 LaunchAgent の再 load

cd ~/Library/LaunchAgents
ls jp.connect8.*.plist
for f in jp.connect8.*.plist; do
  launchctl unload "$f" 2>/dev/null
  launchctl load "$f"
done
launchctl list | grep connect8

これで以下が再稼働:

  • jp.connect8.active-work-cleanup(ACTIVE_WORK 掃除・1h 毎)
  • jp.connect8.dashboard-regenerate(ダッシュボード再生成・5min 毎)
  • jp.connect8.session-cleanup(セッション孤児検出)
  • jp.esth-drive-organize(ES Thailand INBOX→Notion)
  • その他 30+ 個(朝の morning routine、Discord bot、各種定期配信)

6 Discord Bot の起動確認

  • akiyama_bot / kuroyanagi_bot / shibata_bot 等が再起動しているか Discord で確認
  • 動いていなければ:cd ~/claude/2_Areas/A07_internal_dev/discord-org && ./start_all_bots.sh

7 OAuth トークンの再認証(必要時)

refresh_token は通常 7 日以上未使用で失効。Mac 復元後に古い場合は再認証が必要。

各サービス毎の再認証フロー:

サービス確認再認証コマンド
Google (connect8_ai) Gmail/Calendar/Drive 系のスキル実行 cd ~/claude && python3 scripts/oauth_setup.py connect8_ai
Google (cac_ai) CAC スクリプト実行 python3 scripts/oauth_setup.py cac_ai
X (Twitter) SNS 投稿スキル 各 .env の bearer token 更新
Notion esth-drive-organize 等 NOTION_EST_TOKEN を ~/_credentials/notion.env で確認

8 動作確認(Smoke Test)

# ダッシュボード再生成
python3 ~/claude/scripts/regenerate_dashboard.py

# Drive アクセス確認
python3 -c "from googleapiclient.discovery import build; print('OK')"

# Discord 疎通確認
python3 ~/claude/2_Areas/A07_internal_dev/discord-org/healthcheck.py

# マニュアルサイト確認
open https://ai-manual.connect8.cc/

🔐 多層バックアップ戦略(3-2-1)2026-06-04 整備

バックアップの定石「3 コピー・2 媒体・1 拠点外」に資産を当てはめ、役割を分離する。Time Machine だけに依存しない多層構成。

3 系統の役割分担

連携先守るもの復元範囲自動/手動役割
Time MachineMac 全体直前状態に巻き戻し🟢 自動マシン障害の保険(ローカル)
GitHub
iizuka-hq/hq-command-center(private)
コード・知識テキスト(~/claude/別 PC・任意の過去版へ🟢 自動化済(22:45)PC Switch・履歴管理の本命(拠点外)
Google Drive成果物・証憑・画像・PDFファイル単位🟢 自動(アプリ同期)重い非テキスト資産の置き場(拠点外)
Obsidian知識ノート(R01_second_brain(GitHub が版管理)知識の閲覧・編集 UI(保存実体は GitHub)

※ Obsidian と Drive はバックアップ手段ではなく「使い方」。保全の本体は Time Machine(ローカル)+ GitHub/Drive(拠点外)の 2 系統で 3-2-1 が成立する。

git 自動バックアップ基盤 com.iizuka.git-auto-backup

GitHub への push が手作業依存だと止まる(実際に 2026-06-04 時点で約1週間・239 件分が未 push だった事故あり)。これを LaunchAgent で自動化。

  • 毎日 22:45 JST(組織日報 21:00 の後)に git add -A && commit && push origin main を自動実行
  • 差分なしの日は skip(空コミットを作らない)
  • pre-commit の gitleaks が機密混入を検知 → commit 失敗時はステージを戻し、壊れた状態を push しない
  • push 前に git pull --rebase で他経路と整合。コンフリクト時は push せず人間に委ねる。force push は一切しない
  • ログ: 2_Areas/A07_internal_dev/logs/git-auto-backup/(成功/skip/失敗を時系列記録)
  • ダッシュボード(dashboard.connect8.cc)に最終 push 経過時間(24h 超で黄・72h 超で赤)と Time Machine 鮮度パネルを追加。止まりを可視化

連携先の使い分け(迷わない切り分け)

置きたいもの置き場理由
コード・スキル・CLAUDE.md・設定GitHubテキスト=差分管理が効く、PC Switch の核
知識ノート(学び・議事録の学び)Obsidian → GitHubObsidian で書く→中身は Git 管理で両取り
議事録/レポート/証憑/画像/PDFGoogle Drive重い・非テキスト・共有用、Git に乗せない
トークン・.env・鍵どこにも上げない.gitignore で除外済、ローカル+ Time Machine のみ
⚠️ submodule の保護漏れ(2026-06-04 点検で発覚・対応検討中):
  • ~/claude/ 配下の別管理リポジトリ 3 つのうち、4_Archives/_ideas/gourmet-app5_Personal/investment_ai_serverGitHub に一度も push されていない(remote 未設定)
  • 特に investment_ai_server稼働中(狛次郎)のコードが拠点外バックアップゼロ。Mac 障害時に喪失リスク
  • 対応: 各々に GitHub repo を作成 → git remote add origin → 初回 push(要 CEO 判断)

Time Machine 運用ルール

推奨:
  • 毎日 Time Machine 自動バックアップ(外付け SSD 接続常時)
  • 週次 別ディスクへの追加バックアップ(火災・盗難対策)
  • 月次 重要フォルダ(~/_credentials/, ~/claude/)の手動暗号化バックアップを別場所に保管
絶対避ける:
  • Time Machine ディスクと Mac を同じカバンに入れる(盗難で両方喪失)
  • クラウド同期だけに依存(誤削除がクラウドにも反映される)
  • ~/_credentials/ の Git コミット(公開リポジトリ事故)

📊 復旧時間の現実的な見積もり

段階所要時間備考
新 Mac 購入・到着0.5〜3 日Apple Store 在庫次第
Time Machine 移行1〜6 時間ディスク速度依存
CLI 再インストール15〜30 分Homebrew 経由で一括
LaunchAgent 再 load5 分スクリプト一発
OAuth 再認証15〜30 分失効していた場合のみ
動作確認30 分主要パイプライン疎通
合計(最速)2 時間新 Mac が手元にある状態から
合計(実質)半日〜1 日新 Mac 調達含む

📞 復旧中の連絡先・参照リンク

🚀 復旧後にやること(落ち着いてから)

  • Time Machine ディスクの動作確認、必要なら買い直し
  • セキュリティイベントとして ~/claude/4_Archives/_completed/incidents/ に記録
  • 復旧フローで詰まった箇所を本ページに加筆(次回の自分を助ける)
  • パスワード変更(盗難の場合):Apple ID、Google、Discord、GitHub、Cloudflare