mcpField
M
myclaw-backup

myclaw-backup

github.com/leoyeaiクラウド・DevOps66293 回インストール34 週間前に更新
リポジトリ

myclaw-backup について

MyClaw Backup は、OpenClaw のデータを保護・移行するためのバックアップと復元スキルです。重要データを `.tar.gz` にまとめ、トークン認証付き HTTP 管理画面と定期実行スクリプトを備えています。

主な機能

  1. 01OpenClaw の重要データをアーカイブ
  2. 02ドライラン付きのアーカイブ復元
  3. 03HTTP によるアーカイブ管理
  4. 04定期バックアップのスケジュール

活用シーン

  1. 01新しい OpenClaw インスタンスへの移行
  2. 02設定、認証情報、セッション履歴の復元
  3. 03OpenClaw の定期バックアップ作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/leoyeai/openclaw-backup --skill myclaw-backup

インストール後、Claude Code で/myclaw-backupを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.it.md
README.zh-CN.md
README.md
README.ru.md
README.es.md
README.ja.md
README.de.md
.gitignore
LICENSE
README.fr.md
openclaw-backup.skill
references/
what-gets-saved.md
scripts/
backup.sh
schedule.sh
serve.sh
server.js
restore.sh
ui.html

詳細

MyClaw Backup

MyClaw.ai を基盤としています — すべてのユーザーに、コードを完全に管理でき、ネットワークとツールにアクセスできるサーバーを提供する AI パーソナルアシスタントプラットフォームです。このスキルは、MyClaw.ai のオープンスキルエコシステムの一部です。

重要な OpenClaw データをすべて単一の .tar.gz アーカイブにバックアップし、任意の OpenClaw インスタンスに復元します。ブラウザーからバックアップを管理できる、組み込みの HTTP サーバーが含まれています。

⚠️ 信頼境界とセキュリティモデル

このスキルは極めて機密性の高いデータ(ボットトークン、API キー、チャネル認証情報、セッション履歴)を扱います。使用前にセキュリティモデルを理解してください。

各スクリプトの動作
  • backup.sh — ~/.openclaw/ を読み取り、ディスク上に chmod 600 のアーカイブを書き込みます。ネットワークにはアクセスしません。
  • restore.sh — アーカイブから ~/.openclaw/ を上書きします。確認のため yes と入力する必要があります。必ず最初に --dry-run を実行してください。
  • serve.sh / server.js — ローカル HTTP サーバーを起動します。トークンは必須です(トークンがなければ起動を拒否します)。シェル実行エンドポイント(/backup、/restore)はlocalhost のみで使用できます。リモートからはファイルのダウンロードとアップロードのみ可能で、実行を開始することはできません。
  • schedule.sh — バックアップをスケジュール実行するため、システムの crontab を変更します。追加前に cron エントリーを表示します。削除するには --disable を使用します。
アクセス制御の概要
エンドポイントリモート(トークン必須)localhost のみ
GET /health✅(トークン不要)—
GET /backups✅—
GET /download/:file✅—
POST /upload✅—
POST /backup❌✅
POST /restore❌✅
ベストプラクティス
  • --token を指定せずに HTTP サーバーを起動しないでください
  • TLS を使用せずに HTTP サーバーをパブリックインターネットに公開しないでください
  • 復元を適用する前に、必ず restore.sh --dry-run を実行してください
  • バックアップアーカイブにはすべての認証情報が含まれるため、安全に保管してください

依存関係

必要なもの:node、rsync、tar、python3、openclaw CLI(すべて OpenClaw インスタンスに標準で含まれています)。

確認方法:which node rsync tar python3 openclaw

スクリプト

スクリプト目的
scripts/backup.sh [output-dir]バックアップを作成します(デフォルト:/tmp/openclaw-backups/)
scripts/restore.sh <archive> [--dry-run] [--overwrite-gateway-token]復元します — 必ず最初に dry-run を実行してください
scripts/serve.sh start --token TOKEN [--port 7373]HTTP サーバーを起動します — トークン必須
scripts/serve.sh stop|statusサーバーを停止/状態確認します
scripts/schedule.sh [--interval daily|weekly|hourly]システム cron のスケジュール設定

ゲートウェイトークンの動作(v1.6+): デフォルトでは、restore.sh は openclaw.json の復元後も、新しいサーバーの gateway.auth.token を保持します。これにより、移行後に Control UI / Dashboard で "gateway token mismatch" エラーが発生するのを防ぎます。同じサーバーで完全な災害復旧を行う場合に限り、--overwrite-gateway-token を使用してください。

バックアップ対象

詳細については、references/what-gets-saved.md を参照してください。

含まれるもの: ワークスペース(MEMORY.md、スキル、エージェントファイル)、openclaw.json(ボットトークン+API キー)、認証情報、チャネルのペアリング状態、エージェントの設定+セッション履歴、デバイス、ID、cron ジョブ、ガーディアンスクリプト。

含まれないもの: ログ、バイナリメディア、node_modules、canvas システムファイル。

よくあるワークフロー

バックアップの作成
bash scripts/backup.sh /tmp/openclaw-backups
# → /tmp/openclaw-backups/openclaw-backup_TIMESTAMP.tar.gz (chmod 600)
復元 — 必ず最初に dry-run を実行
# Step 1: preview what will change
bash scripts/restore.sh openclaw-backup_TIMESTAMP.tar.gz --dry-run

# Step 2: review the output, then apply
bash scripts/restore.sh openclaw-backup_TIMESTAMP.tar.gz

復元スクリプトは、上書きする前に復元前のスナップショットを保存します。

HTTP サーバー — トークン必須
# Token is required — server refuses to start without one
bash scripts/serve.sh start --token $(openssl rand -hex 16) --port 7373
# → http://localhost:7373/?token=<generated-token>

リバースプロキシ+TLS を使用せずに、パブリックネットワーク上で URL を共有しないでください。

Web UI では、バックアップの作成、.tar.gz のダウンロード、アップロード、dry-run のプレビュー、復元ができます。

HTTP API(/health を除き、すべてトークンが必要):

  • GET /health — ヘルスチェック(認証不要、読み取り専用)
  • GET /backups — バックアップの一覧
  • POST /backup — バックアップの作成
  • GET /download/:filename — アーカイブのダウンロード
  • POST /upload — アーカイブのアップロード(multipart、フィールド:backup)
  • POST /restore/:filename — 復元。プレビューするには ?dry_run=1 を追加
新しいインスタンスへの移行

古いマシン:

bash scripts/serve.sh start --token MYTOKEN --port 7373

新しいマシン(OpenClaw のインストール後):

# Download
curl -O "http://OLD_IP:7373/download/openclaw-backup_TIMESTAMP.tar.gz?token=MYTOKEN"

# Always dry-run first
bash scripts/restore.sh openclaw-backup_TIMESTAMP.tar.gz --dry-run

# Apply
bash scripts/restore.sh openclaw-backup_TIMESTAMP.tar.gz
# All channels reconnect automatically — no re-pairing needed
日次自動バックアップのスケジュール(OpenClaw cron)
{
  "name": "daily-openclaw-backup",
  "schedule": { "kind": "cron", "expr": "0 3 * * *", "tz": "UTC" },
  "payload": {
    "kind": "agentTurn",
    "message": "Run a backup using the myclaw-backup skill. Output dir: /tmp/openclaw-backups",
    "timeoutSeconds": 120
  },
  "sessionTarget": "isolated"
}

復元後:自動復旧レポート

restore.sh の完了後、workspace/.restore-complete.json が書き込まれます。次回のハートビート/起動時に、エージェントは次の処理を行います。

  1. workspace/.restore-complete.json が存在するか確認する
  2. 存在する場合は、読み込んでユーザーに復元レポートを送信し、その後ファイルを削除する(一度限り — 2 回報告しない)
  3. ユーザーの第一言語でレポートを送信する(workspace/USER.md を読み取る)
レポート形式(USER.md に応じて言語を調整)
✅ [Restore complete — in user's language]

📦 Backup: {backup_name}
🤖 Agent: {agent_name}
🕐 Restored at: {restored_at}
💾 Contents restored: workspace, config, credentials, history, cron...

[Channel reconnect instructions in user's language]

今後:MyClaw クラウドバックアップ

HTTP API は、将来の MyClaw クラウドバックアップサービスとの互換性を考慮して設計されています。利用可能になったら、ローカルサーバーの URL を MyClaw API エンドポイントに置き換えてください。アップロード/ダウンロード/復元のフローは変わりません。

コメント