⚙️ Vault運用

sync_to_drive_他PC適用手順

最終更新 2026年05月07日 / 90_Meta/sync_to_drive_他PC適用手順.md

sync_to_drive.sh 他PC/他アカウント適用手順

「マスターPCで修正したら、全PC一括反映。」
2026-05-07 にマスターPC で sync_to_drive.sh を mmap deadlock 修正版に更新。
同じ修正を他PC・他アカウントにも適用する手順。


30秒で全体像

観点 一言
核心 Vault配下に修正版置いた → 他PCで1コマンド実行で全完了
キーワード mmap deadlock / Google Drive CloudStorage / 1コマンド適用
使う人 大串 / 第2アカウント担当者
作業時間 1PCあたり1分

何の問題を直すか

症状: Slack #scale-ai-all に司令BOTから「:rotating_light: SCALE-Brain エラー / Drive同期失敗 / rsync exit 1 — TCC権限要確認」が5分おきに連投。

真因: TCC権限ではなく、Google Drive CloudStorage の mmap deadlock

rsync(xxx): error: <ファイル>: mmap: Resource deadlock avoided

→ 詳細: 90_Meta/トラブルシューティング の「エラー2: rsync mmap deadlock」


適用手順(1コマンド)

マスターPC(大串アカウント)— 適用済み (2026-05-07 06:45)

完了済み。何もしなくていい。

他PC / 第2アカウントPC

bash ~/Obsidian/SCALE-Brain/scripts/apply_sync_fix.sh

→ スクリプトが自動的に:
1. 既存 ~/Obsidian/scripts/sync_to_drive.sh をバックアップ
2. Vault内の修正版で上書き
3. launchd com.scale.obsidian-sync を再起動
4. 手動 rsync テスト → exit code 表示
5. 成功なら完了報告 / 失敗ならログを確認するよう指示


前提条件

  • そのPCで Vault が ~/Obsidian/SCALE-Brain/ にローカル配備されている
  • または Drive上の /AI/SCALE-Brain/ が同期されていて、ローカルからアクセスできる
  • launchd com.scale.obsidian-sync が登録されている

Drive上のVaultしかない場合
パスを /Users/<username>/Library/CloudStorage/GoogleDrive-y-ogushi@scale-group.co.jp/マイドライブ/AI/SCALE-Brain/scripts/apply_sync_fix.sh に読み替えて実行。


修正内容(apply_sync_fix.sh の中身は何が変わるか)

sync_to_drive.sh の変更点

+ TMP_DIR="/tmp/rsync_scale_brain"
+ mkdir -p "$TMP_DIR"

  rsync -av --delete \
+   --no-whole-file \
+   --partial \
+   --temp-dir="$TMP_DIR" \
    --exclude '.obsidian/workspace*' \
    ...

  # エラー通知部分:
- notify "Drive同期失敗" "rsync exit $EXIT_CODE — TCC権限要確認" error
+ # sync.logから真の原因を抽出して通知
+ CAUSE=$(tail -50 "$LOG" | grep -E "mmap|deadlock|permission|denied|No such" | head -1 | sed 's/.*error: //')
+ # 30分以内の連投防止
+ ...
+ notify "Drive同期失敗" "exit $EXIT_CODE: $CAUSE" error

効果

  • mmap deadlock を物理的に回避
  • 通知文言が実態を反映(「TCC権限要確認」固定文言の誤誘導をなくす)
  • 同じエラーで30分以内に再通知しない(連投防止)

実行後の確認

# 1. launchd 動作確認
launchctl print gui/$(id -u)/com.scale.obsidian-sync 2>&1 | grep -E "state|last exit"
# → "last exit code = 0" なら成功

# 2. 直近のsyncログ
tail -10 ~/Obsidian/logs/sync.log
# → "[OK] sync completed" が出ていればOK

# 3. 5分後に自動実行されているか
sleep 300 && tail -5 ~/Obsidian/logs/sync.log

失敗時の対応

apply_sync_fix.sh が exit 1 で失敗した場合:

  1. tail -30 ~/Obsidian/logs/sync.log を実行
  2. エラーメッセージをスクショして大串に Slack DM
  3. 一時的にlaunchd停止: launchctl bootout gui/$(id -u)/com.scale.obsidian-sync

第2アカウント担当者への依頼文(コピペ用)

以下を Slack DM や口頭で渡す

【SCALE-Brain Drive同期エラーの修正適用お願い】

5/6 夜から #scale-ai-all に「Drive同期失敗」が5分おきに来てた件、
真因は TCC権限ではなく Google Drive の mmap deadlock でした。

マスターPC(大串)側は対処済み。
こっちのアカウント側でも同じ修正を適用してください。

▼ コマンド(1コマンドで完了します)

bash ~/Obsidian/SCALE-Brain/scripts/apply_sync_fix.sh

▼ 期待結果
  - "✅ 修正版適用完了。同期成功確認OK"
  - exit_code=0

▼ もし失敗したら
  - tail -30 ~/Obsidian/logs/sync.log の結果をスクショして送ってください

詳細: https://obsidian.md (Vault: 90_Meta/sync_to_drive_他PC適用手順)

関連ノート


更新履歴

日付 内容
2026-05-07 初版作成(mmap deadlock 修正対応・第2アカウント配布手順)