ClawTank
ドキュメント活用法ブログ今すぐデプロイ
すべての記事
OpenClaw バックアップ・リストア・移行:完全ガイド

OpenClaw バックアップ・リストア・移行:完全ガイド

2026年2月14日|4 分で読める
目次
  • バックアップが必要なデータ
  • 方法1:tarによる手動バックアップ
  • 方法2:cronによる自動日次バックアップ
  • 方法3:S3またはB2へのクラウドバックアップ
  • Amazon S3
  • Backblaze B2
  • 方法4:Dockerボリュームバックアップ
  • バックアップからのリストア
  • サーバー間移行
  • 1. 新サーバーの準備
  • 2. バックアップと転送
  • 3. リストアと設定
  • 4. 検証
  • メッセージングセッションの移行
  • ホステッドインスタンスの移行
  • バックアップ戦略の推奨
  • よくある問題
  • まとめ
  • 参考文献

まだ OpenClaw をインストールしていませんか?

curl -fsSL https://openclaw.ai/install.sh | bash
iwr -useb https://openclaw.ai/install.ps1 | iex
curl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

パソコンへの影響が心配?ClawTank なら60秒でクラウドデプロイ、ファイルへのリスクゼロ。

OpenClaw バックアップ・リストア・移行:完全ガイド

OpenClaw インスタンスは時間とともに貴重な状態を蓄積します ─ 会話メモリ、カスタムスキル、統合設定、APIキー、メッセージングセッションデータ。これを失うとゼロからの再構築を意味します:Telegramボットの再ペアリング、スキルの再作成、エージェントが蓄積したすべてのコンテキストの喪失。

このガイドではデータのバックアップ、障害後のリストア、サーバー間の移行を解説します。

バックアップが必要なデータ

すべては ~/.openclaw/ 配下にあります:

~/.openclaw/
  openclaw.json          # メイン設定
  gateway.db             # SQLiteデータベース(メモリ、会話、状態)
  credentials/           # APIキーと統合トークン
  workspace/skills/      # カスタムスキル
  workspace/memory/      # 永続メモリファイル
  sessions/              # Telegram/WhatsAppセッション状態
コンポーネント 喪失時の影響
openclaw.json ゼロから再設定が必要
gateway.db 蓄積されたすべてのコンテキストと履歴を喪失
credentials/ すべての認証をやり直す必要あり
workspace/skills/ カスタムスキルの書き直しが必要
sessions/ メッセージング統合の再ペアリングが必要

最も痛い喪失は gateway.db(数週間の会話メモリ)と sessions/(特にWhatsAppの再ペアリングは面倒[1])です。

Dockerインストールの場合、データは同じ内部構造のDockerボリュームに格納されます。

方法1:tarによる手動バックアップ

# データベースの整合性のためゲートウェイを停止
sudo systemctl stop openclaw

tar -czf ~/openclaw-backup-$(date +%Y%m%d-%H%M%S).tar.gz -C ~ .openclaw/

sudo systemctl start openclaw

ゲートウェイの停止は重要です ─ SQLiteデータベースはライブコピー中に破損する可能性があります[2]。ダウンタイムゼロのバックアップには、SQLiteの組み込みバックアップを使用:

sqlite3 ~/.openclaw/gateway.db ".backup '/tmp/gateway-backup.db'"

tar -czf ~/openclaw-backup-$(date +%Y%m%d-%H%M%S).tar.gz \
  --exclude='.openclaw/gateway.db' \
  --exclude='.openclaw/gateway.log' \
  -C ~ .openclaw/

必ず検証してください:

sqlite3 /tmp/gateway-backup.db "PRAGMA integrity_check;"
# 出力: ok

方法2:cronによる自動日次バックアップ

/usr/local/bin/openclaw-backup.sh を作成:

#!/bin/bash
set -euo pipefail

BACKUP_DIR="/var/backups/openclaw"
OPENCLAW_DIR="$HOME/.openclaw"
RETENTION_DAYS=30
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
BACKUP_FILE="$BACKUP_DIR/openclaw-$TIMESTAMP.tar.gz"

mkdir -p "$BACKUP_DIR"

# 安全なデータベースコピー
[ -f "$OPENCLAW_DIR/gateway.db" ] && \
  sqlite3 "$OPENCLAW_DIR/gateway.db" ".backup '$BACKUP_DIR/gateway-$TIMESTAMP.db'"

# ライブデータベースを除いてすべてをアーカイブ
tar -czf "$BACKUP_FILE" \
  --exclude='.openclaw/gateway.db' \
  --exclude='.openclaw/gateway.log' \
  -C "$(dirname "$OPENCLAW_DIR")" "$(basename "$OPENCLAW_DIR")"

# 安全なデータベースコピーを追加
if [ -f "$BACKUP_DIR/gateway-$TIMESTAMP.db" ]; then
  cd "$BACKUP_DIR" && mv "gateway-$TIMESTAMP.db" "gateway.db"
  tar -rf "$BACKUP_FILE" "gateway.db" && rm -f "gateway.db" && cd -
fi

# 古いバックアップのクリーンアップ
find "$BACKUP_DIR" -name "openclaw-*.tar.gz" -mtime +$RETENTION_DAYS -delete

echo "[$(date)] Backup: $BACKUP_FILE ($(du -sh "$BACKUP_FILE" | cut -f1))"

cronでスケジュール設定:

chmod +x /usr/local/bin/openclaw-backup.sh
crontab -e
# 追加: 0 3 * * * /usr/local/bin/openclaw-backup.sh >> /var/log/openclaw-backup.log 2>&1

方法3:S3またはB2へのクラウドバックアップ

ローカルバックアップはハードウェア障害から保護しません。クラウドの冗長性を追加しましょう。

Amazon S3

aws s3 cp "$BACKUP_FILE" "s3://your-openclaw-backups/openclaw-$TIMESTAMP.tar.gz" \
  --storage-class STANDARD_IA

S3 Standard-IAのコストは約$0.0125/GB/月[3]です。90日後に自動削除するライフサイクルルールを設定:

あなた専用の AI アシスタントをデプロイ

ClawTank なら OpenClaw を簡単にデプロイ — サーバー・Docker・SSH 不要。14日間無料トライアル付き。

無料トライアルを始める
aws s3api put-bucket-lifecycle-configuration \
  --bucket your-openclaw-backups \
  --lifecycle-configuration '{"Rules":[{"ID":"Cleanup","Status":"Enabled","Filter":{"Prefix":"openclaw-"},"Expiration":{"Days":90}}]}'

Backblaze B2

$0.005/GB/月で、B2はさらに安価です:

b2 upload-file your-openclaw-backups "$BACKUP_FILE" "$(basename "$BACKUP_FILE")"

方法4:Dockerボリュームバックアップ

docker stop openclaw

docker run --rm \
  -v openclaw_data:/data \
  -v $(pwd):/backup \
  alpine tar -czf /backup/openclaw-docker-$(date +%Y%m%d).tar.gz -C /data .

docker start openclaw

リストア:

docker stop openclaw
docker run --rm \
  -v openclaw_data:/data \
  -v $(pwd):/backup \
  alpine sh -c "rm -rf /data/* && tar -xzf /backup/openclaw-docker-20260224.tar.gz -C /data"
docker start openclaw

バックアップからのリストア

sudo systemctl stop openclaw 2>/dev/null || true
rm -rf ~/.openclaw
tar -xzf /var/backups/openclaw/openclaw-20260224-030000.tar.gz -C ~

sqlite3 ~/.openclaw/gateway.db "PRAGMA integrity_check;"
sudo systemctl start openclaw
openclaw status

部分的なリストアには、/tmp に展開して必要なものだけ ─ スキル、データベース、認証情報を個別にコピーしてください。

サーバー間移行

1. 新サーバーの準備

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
npm install -g openclaw
# openclaw onboard は実行しないでください ─ 上書きリストアするためです

2. バックアップと転送

# 旧サーバーで
sudo systemctl stop openclaw
tar -czf ~/openclaw-migration.tar.gz -C ~ .openclaw/
scp ~/openclaw-migration.tar.gz user@new-server:~/

3. リストアと設定

# 新サーバーで
tar -xzf ~/openclaw-migration.tar.gz -C ~
sqlite3 ~/.openclaw/gateway.db "PRAGMA integrity_check;"

サーバーのIP、ホスト名、ポートが異なる場合は ~/.openclaw/openclaw.json を更新してください。その後systemdをセットアップしてゲートウェイを起動します。

4. 検証

openclaw status
openclaw chat "Are you working?"
openclaw integrations status

旧サーバーの廃止前に少なくとも1週間はバックアップを保持してください。

メッセージングセッションの移行

Telegram: ボットセッションはクリーンに転送されます ─ credentials/telegram.json のボットトークンがあれば十分です。openclaw devices approve <id> でデバイスの再承認が必要になる場合があります。

WhatsApp: sessions/whatsapp/ のセッションデータには暗号キーが含まれています。多くの場合正常に移行しますが、そうでない場合はQRコードをスキャンして再ペアリングが必要です。グループメンバーシップとチャット履歴はWhatsApp側で保持されます[4]。移行前にグループをメモしておいてください。

ホステッドインスタンスの移行

ClawTank への移行または ClawTank からの移行:

# エクスポート(セルフホスト → ClawTank)
openclaw export --format clawtank -o ~/openclaw-export.zip

# インポート(ClawTank → セルフホスト)
openclaw import ~/clawtank-export.zip

セキュリティのためAPIキーはエクスポートから除外されます ─ インポート後に再入力してください。

バックアップ戦略の推奨

最小限: 30日間保持の日次ローカルcronバックアップ。

推奨: 日次ローカルバックアップ + S3またはB2への週次クラウドバックアップ(90日間保持)+ アップグレード前の事前バックアップ + 月次リストアテスト。

本番環境: 時間単位のローカルバックアップ + 2つのプロバイダーへの日次クラウドバックアップ(1年間保持)+ バックアップが停止した際のアラート付き自動監視。

よくある問題

バックアップ中にデータベースがロック: ファイルを直接コピーする代わりに sqlite3 ... ".backup" を使用してください。

破損したアーカイブ: tar -tzf が失敗する場合、2>/dev/null || true で部分的な展開を試してください。

リストア後にメッセージングが失敗: システムクロックが正確であることを確認してください(sudo timedatectl set-ntp true)。セッショントークンにはタイムスタンプが含まれています。

パーミッションエラー: sudo chown -R your-user:your-user ~/.openclaw/ でオーナーシップを修正し、chmod 600 ~/.openclaw/credentials/* を設定してください。

まとめ

堅実なバックアップ戦略のセットアップには30分かかり、数ヶ月分の蓄積されたエージェント状態を保護します。必須のステップ:日次バックアップの自動化、クラウドの冗長性追加、リストアのテスト、サーバー移行にも同じバックアップ/リストアプロセスを使用。障害が起きてからバックアップが機能しないと気づくのでは遅すぎます。

参考文献

  1. WhatsApp multi-device architecture and session management
  2. SQLite backup and recovery best practices
  3. AWS S3 storage class pricing
  4. OpenClaw messaging integration guide
  5. Backblaze B2 cloud storage documentation
  6. Linux cron scheduling reference

この記事はいかがでしたか?

新しいガイドやチュートリアルの公開時にお知らせします。

OpenClaw をデプロイしませんか?

Docker・SSH・DevOps 不要。1分以内でセットアップ。

無料トライアルを始める
ClawTank
利用規約プライバシー