Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

OpenClaw on Windows WSL の安心バックアップ&リカバリガイド

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

このガイドでは、AIアシスタントが稼働するOpenClaw環境を安全に保つためのバックアップとリカバリ手順を詳しく説明します。不測の事態に備え、定期的なバックアップと復元方法を理解しておくことは非常に重要です。

スポンサーリンク
バッチ処理の自動化スキルは市場価値が高いです。今の自分の単価を調べてみませんか?
顧客常駐はもう嫌だ!社内SEへ転職するなら【社内SE転職ナビ】
Cursor・Claude Code・Codex AIスキルを学ぶなら
環境構築不要!AIエージェント開発を非エンジニアでも即実践【AI Agent Camp】

OpenClaw環境のファイルベースバックアップ

バックアップの目的

OpenClawのエージェント設定、記憶、カスタムスキル、および主要な設定ファイルをアーカイブし、障害発生時やPC移行時に元の状態に迅速に戻せるようにします。

バックアップ対象となる主要ファイル・ディレクトリ

  • ~/.openclaw/workspace/: エージェントの魂、記憶、ツールの設定などが含まれる最も重要な部分。
  • ~/.openclaw/openclaw.json: OpenClaw全体の主要な設定ファイル。
  • ~/.openclaw/plugin-skills/: 追加でインストールしたスキルが含まれる可能性のあるディレクトリ。
  • ~/.openclaw/identity/: エージェントのID情報が含まれるディレクトリ。

バックアップスクリプトの作成

これらのファイルをまとめてアーカイブし、世代管理を行うシェルスクリプトを作成します。以下の内容で~/openclaw_backup.shとして保存します。

#!/bin/bash

# バックアップ保存先ディレクトリ(Windowsパスのダミー例)
BACKUP_DIR="/mnt/c/Users/YourUser/OneDrive/Documents/OpenClaw_Backup"
DATE=$(date +%Y%m%d%H%M%S)
BACKUP_FILE="$BACKUP_DIR/openclaw_backup_$DATE.tar.gz"
# バックアップ対象ディレクトリとファイル
TARGET_DIRS="$HOME/.openclaw/workspace $HOME/.openclaw/openclaw.json $HOME/.openclaw/plugin-skills $HOME/.openclaw/identity"
# 保持するバックアップ世代数
MAX_BACKUPS=3

# バックアップディレクトリが存在しない場合は作成
mkdir -p "$BACKUP_DIR"

echo "Starting OpenClaw backup to $BACKUP_FILE..."

# ターゲットをまとめてアーカイブを作成
tar -czvf "$BACKUP_FILE" $TARGET_DIRS

if [ $? -eq 0 ]; then
    echo "Backup created successfully."

    # 3世代バックアップ保持ポリシーを適用
    echo "Enforcing $MAX_BACKUPS-generation backup retention..."
    OLD_BACKUPS=$(ls -t "$BACKUP_DIR"/openclaw_backup_*.tar.gz | sed -e '1,'"$MAX_BACKUPS"'d')
    for f in $OLD_BACKUPS; do
        echo "Removing old backup: $f"
        rm "$f"
    done
    echo "Backup retention policy applied."
else
    echo "Backup failed!"
    exit 1
fi

スクリプトへの実行権限付与

作成したスクリプトに実行権限を与えます。

chmod +x ~/openclaw_backup.sh

Cronジョブへの登録(定期実行)

毎日決まった時間にバックアップが自動実行されるように、Cronに登録します。以下のコマンドを実行し、Cronエディタが開いたら以下の行を追加して保存してください。ここでは毎日午前3時に実行する例です。

(crontab -l 2>/dev/null; echo "0 3 * * * /home/YourUser/openclaw_backup.sh >> /home/YourUser/openclaw_backup.log 2>&1") | crontab -

/home/YourUser/の部分はあなたのWSLユーザーのホームディレクトリに置き換えてください。

WSLディストリビューション全体のバックアップとリカバリ(スナップショット相当)

OpenClawのファイルだけでなく、WSLディストリビューション全体(OS、インストールされたソフトウェア、設定などすべて)をバックアップしたい場合は、wsl --exportコマンドを使用します。これはPCの移行や、深刻なシステム障害からの復旧に非常に有効です。

WSLディストリビューションのバックアップ(エクスポート)手順

この手順はWindowsのPowerShellまたはコマンドプロンプトで実行します。

1. 現在のWSLディストリビューションの名前を確認

エクスポートしたいディストリビューションの名前を確認します。

wsl -l -v

例: Ubuntu

2. エクスポート対象のディストリビューションを終了する

エクスポートするディストリビューションが起動中の場合は終了させます。

wsl --terminate <DistributionName>
# 例: wsl --terminate Ubuntu

3. ディストリビューションをエクスポート

`.tar`ファイルとしてディストリビューション全体をエクスポートします。

wsl --export <DistributionName> <FilePath>\<FileName>.tar
# 例: wsl --export Ubuntu D:\WSL_Backups\UbuntuBackup.tar

<FilePath>\<FileName>.tarは保存したい場所とファイル名に置き換えてください。

WSLディストリビューションのリカバリ(インポート)手順

この手順もWindowsのPowerShellまたはコマンドプロンプトで実行します。

1. 復元したいディストリビューションを終了させる(もし起動していれば)

復元対象のディストリビューションが現在実行中の場合は、まず終了させます。

wsl --terminate <DistributionName>
# 例: wsl --terminate Ubuntu

2. 現在のディストリビューションを登録解除する(既存のものを上書きする場合)

同じ名前で復元したい場合、既存のディストリビューションを一度削除します。これによりデータは完全に失われるため、注意してください。

wsl --unregister <DistributionName>
# 例: wsl --unregister Ubuntu

3. バックアップファイルからディストリビューションをインポートする

エクスポートした`.tar`ファイルからディストリビューションを復元します。

wsl --import <NewDistributionName> <InstallLocation> <FilePath>\<FileName>.tar
# 例: wsl --import Ubuntu D:\WSL_Instances\Ubuntu D:\WSL_Backups\UbuntuBackup.tar

<NewDistributionName>は元の名前(例: Ubuntu)を、<InstallLocation>はディストリビューションをインストールする新しい場所を、<FilePath>\<FileName>.tarはバッ クアップファイルのパスをそれぞれ指定します。

4. デフォルトユーザーを設定する(元のユーザーに戻すため)

インポートしたディストリビューションはrootで起動するため、元のユーザー(例: YourUser)をデフォルトに設定します。

  • インポートしたディストリビューションを起動し、一度exitで閉じます。
    wsl -d <NewDistributionName> # 例: wsl -d Ubuntu
    # (WSLターミナルで "exit" と入力して閉じる)
    
  • WindowsのPowerShellでwsl.confファイルを作成または編集します。
    notepad.exe "\\wsl.localhost\<NewDistributionName>\etc\wsl.conf"
    # 例: notepad.exe "\\wsl.localhost\Ubuntu\etc\wsl.conf"
    

    ファイルに以下の内容を記述して保存します。

    [user]
    default=<元のユーザー名>
    # 例: default=YourUser
    
  • WSLディストリビューションを完全に終了して再起動します。
    wsl --terminate <NewDistributionName> # 例: wsl --terminate Ubuntu
    

これで、OpenClaw環境が安全にバックアップされ、万が一の際も迅速に復旧できる体制が整いました。定期的なバックアップとこのガイドの活用を推奨します。

 

タイトルとURLをコピーしました