担当: トラジ(A07 社内開発・自動化)
🎯 結論:Time Machine だけで「ほぼ」戻せる、ただし手動補完が 5 ヶ所
戻せるもの(Time Machine 完全カバー):
~/claude/全体(PARA 構造、スキル、スクリプト、設定)~/_credentials/(OAuth トークン、API キー、env ファイル群)~/.claude/(Claude Code 設定、メモリ、エージェント定義)~/Library/LaunchAgents/(自動実行 .plist ファイル)/Applications/(インストール済みアプリ)- macOS システム設定、Keychain、Wi-Fi、Bluetooth ペアリング
戻らないもの(手動補完が必要):
- LaunchAgent の load 状態(ファイルは戻るが起動はしない → 再 load 必要)
- Homebrew・Node・Python のシステムインストール状態(CLI ツールが動かなくなる場合)
- Claude Code CLI・Codex CLI の本体(npm global なので要再インストール)
- Cloudflare Tunnel のサービス常駐(再 install 必要)
- Discord Bot の常駐プロセス(LaunchAgent 再 load で復活)
外部に保管されているもの(Mac 喪失でも安全):
- Google Drive 上の全ファイル(議事録、クライアント資料、スプシ)
- Notion DB(ES Thailand 5 DB、CAC 統合会員マスター)
- GitHub リポジトリ(コードのバックアップ)
- Cloudflare Pages(マニュアルサイト本体)
- WordPress(記事配信)
- Discord サーバー(会話履歴)
📋 復旧フロー(推奨:上から順に)
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 Machine | Mac 全体 | 直前状態に巻き戻し | 🟢 自動 | マシン障害の保険(ローカル) |
GitHubiizuka-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 → GitHub | Obsidian で書く→中身は Git 管理で両取り |
| 議事録/レポート/証憑/画像/PDF | Google Drive | 重い・非テキスト・共有用、Git に乗せない |
トークン・.env・鍵 | どこにも上げない | .gitignore で除外済、ローカル+ Time Machine のみ |
⚠️ submodule の保護漏れ(2026-06-04 点検で発覚・対応検討中):
~/claude/配下の別管理リポジトリ 3 つのうち、4_Archives/_ideas/gourmet-appと5_Personal/investment_ai_serverが GitHub に一度も 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 再 load | 5 分 | スクリプト一発 |
| OAuth 再認証 | 15〜30 分 | 失効していた場合のみ |
| 動作確認 | 30 分 | 主要パイプライン疎通 |
| 合計(最速) | 2 時間 | 新 Mac が手元にある状態から |
| 合計(実質) | 半日〜1 日 | 新 Mac 調達含む |
📞 復旧中の連絡先・参照リンク
- Apple Support: Time Machine 復元手順(公式)
- Claude Code 再インストール: 公式ドキュメント
- このマニュアル本体: https://ai-manual.connect8.cc/
→ Mac 復旧前でも、スマホ・別 PC からアクセスできる。Cloudflare Workspace 認証が通れば見れる - Drive 上の重要フォルダ ID:
3_Resources/R02_org_docs/drive_master.mdに記録(このサイトでは表示しない)
🚀 復旧後にやること(落ち着いてから)
- Time Machine ディスクの動作確認、必要なら買い直し
- セキュリティイベントとして
~/claude/4_Archives/_completed/incidents/に記録 - 復旧フローで詰まった箇所を本ページに加筆(次回の自分を助ける)
- パスワード変更(盗難の場合):Apple ID、Google、Discord、GitHub、Cloudflare