メインコンテンツへスキップ

OpenClaw を新しいマシンへ移行する

このガイドでは、オンボーディングをやり直すことなく、OpenClaw Gateway(ゲートウェイ)を 1 台のマシンから別のマシンへ移行します。 移行の考え方はシンプルです。
  • 状態ディレクトリ$OPENCLAW_STATE_DIR、既定: ~/.openclaw/)をコピーします。ここには設定、認証、セッション、チャンネルの状態が含まれます。
  • ワークスペース(既定では ~/.openclaw/workspace/)をコピーします。ここにはエージェントのファイル(メモリ、プロンプトなど)が含まれます。
ただし、プロファイル権限部分的なコピーに関する典型的な落とし穴があります。

開始前に(何を移行するのか)

1. 状態ディレクトリを特定する

多くのインストールでは既定値が使われます。
  • 状態ディレクトリ: ~/.openclaw/
ただし、次を使用している場合は異なることがあります。
  • --profile <name>(多くの場合 ~/.openclaw-<profile>/ になります)
  • OPENCLAW_STATE_DIR=/some/path
不明な場合は、マシンで次を実行してください。
openclaw status
出力内の OPENCLAW_STATE_DIR / プロファイルへの言及を確認します。複数のゲートウェイを実行している場合は、各プロファイルについて繰り返してください。 出力内の OPENCLAW_STATE_DIR / プロファイルへの言及を確認します。複数のゲートウェイを実行している場合は、各プロファイルについて繰り返してください。 複数のゲートウェイを実行する場合は、プロファイルごとに繰り返します。

2. ワークスペースを特定する

一般的な既定値は次のとおりです。
  • ~/.openclaw/workspace/(推奨ワークスペース)
  • 自分で作成したカスタムフォルダー
ワークスペースには、MEMORY.mdUSER.mdmemory/*.md などのファイルがあります。

3. 保持される内容を理解する

状態ディレクトリワークスペース両方をコピーした場合、次が保持されます。
  • Gateway の設定(openclaw.json
  • 認証プロファイル/API キー/OAuth トークン
  • セッション履歴+エージェントの状態
  • チャンネルの状態(例: WhatsApp のログイン/セッション)
  • ワークスペースのファイル(メモリ、Skills のメモなど)
ワークスペースのみ(例: Git 経由)をコピーした場合、次は保持されません
  • セッション
  • 資格情報
  • チャンネルのログイン
これらは $OPENCLAW_STATE_DIR 配下に保存されています。

移行手順(推奨)

ステップ 0 — バックアップを作成する(旧マシン)

マシンで、コピー中にファイルが変更されないよう、まずゲートウェイを停止します。
openclaw gateway stop
(任意ですが推奨)状態ディレクトリとワークスペースをアーカイブします。
# Adjust paths if you use a profile or custom locations
cd ~
tar -czf openclaw-state.tgz .openclaw

tar -czf openclaw-workspace.tgz .openclaw/workspace
複数のプロファイル/状態ディレクトリ(例: ~/.openclaw-main~/.openclaw-work)がある場合は、それぞれをアーカイブしてください。

ステップ 1 — 新しいマシンに OpenClaw をインストールする

マシンで CLI(必要に応じて Node)をインストールします。 この段階でオンボーディングにより新しい ~/.openclaw/ が作成されても問題ありません。次のステップで上書きします。

ステップ 2 — 状態ディレクトリ+ワークスペースを新しいマシンへコピーする

次の両方をコピーします。
  • $OPENCLAW_STATE_DIR(既定: ~/.openclaw/
  • ワークスペース(既定: ~/.openclaw/workspace/
一般的な方法は次のとおりです。
  • scp the tarball and extract
  • rsync -a を使用して SSH 経由で転送
  • 外付けドライブ
コピー後、次を確認してください。
  • 隠しディレクトリが含まれていること(例: .openclaw/
  • ゲートウェイを実行するユーザーに対してファイル所有権が正しいこと

ステップ 3 — Doctor を実行する(移行+サービス修復)

マシンで次を実行します。
openclaw doctor
医師は「安全な退屈」コマンドです。 それはサービスを修復し、設定の移行を適用し、不一致について警告します。 それはサービスを修復し、設定の移行を適用し、不一致について警告します。 その後、次を実行します。
openclaw gateway restart
openclaw status

一般的なフットガン(および回避方法)

落とし穴: プロファイル/状態ディレクトリの不一致

旧ゲートウェイをプロファイル(または OPENCLAW_STATE_DIR)付きで実行しており、新ゲートウェイが別のものを使用している場合、次のような症状が出ます。
  • 設定変更が反映されない
  • チャンネルが消える/ログアウトされる
  • セッション履歴が空になる
対処: 移行した同じプロファイル/状態ディレクトリを使用してゲートウェイ/サービスを実行し、次を再実行します。
openclaw doctor

落とし穴: openclaw.json だけをコピーしている

openclaw.json だけでは不十分です。多くのプロバイダーは次の配下に状態を保存します。 多くのプロバイダーは以下の条件でストアします: 多くのプロバイダーは以下の条件でストアします:
  • $OPENCLAW_STATE_DIR/credentials/
  • $OPENCLAW_STATE_DIR/agents/<agentId>/...
必ず $OPENCLAW_STATE_DIR フォルダー全体を移行してください。

落とし穴: 権限/所有権

root でコピーした、またはユーザーを変更した場合、ゲートウェイが資格情報/セッションを読み取れないことがあります。 対処: 状態ディレクトリとワークスペースが、ゲートウェイを実行するユーザーの所有になっていることを確認します。

落とし穴: リモート/ローカルモード間の移行

  • UI(WebUI/TUI)がリモートのゲートウェイを指している場合、セッションストアとワークスペースはリモートホストが所有します。
  • ノートパソコンを移行しても、リモートゲートウェイの状態は移行されません。
リモートモードの場合は、Gateway ホストを移行してください。

落とし穴: バックアップ内のシークレット

$OPENCLAW_STATE_DIR にはシークレット(API キー、OAuth トークン、WhatsApp の認証情報)が含まれます。バックアップは本番シークレットと同様に扱ってください。 バックアップを本番用の秘密情報のように扱う: バックアップを本番用の秘密情報のように扱う:
  • 暗号化して保管する
  • 安全でないチャンネルで共有しない
  • 漏えいの可能性がある場合はキーをローテーションする

検証チェックリスト

新しいマシンで次を確認してください。
  • openclaw status でゲートウェイが稼働している
  • チャンネルが引き続き接続されている(例: WhatsApp が再ペアリングを要求しない)
  • ダッシュボードが開き、既存のセッションが表示される
  • ワークスペースのファイル(メモリ、設定)が存在する

関連