日次バックアップは、実行漏れが起きると復旧時に大きな差が出る運用タスクです。OpenClawで定期実行し、結果をログとして残しておくと、手作業に頼らず安定したバックアップ運用を作れます。
結論: OpenClawでデータバックアップを自動化するレシピは、最小構成で始めてログを見ながら段階的に広げるのが最短です。
Background
毎日の運用タスクは、手作業だと実行漏れや設定ブレが起きやすくなります。特にバックアップは「動いているつもり」になりやすいため、実行ログと成果物の確認まで含めて自動化することが重要です。
最初から複数の保存先や複雑な通知を組み込む必要はありません。まずは1つのディレクトリを1日1回バックアップし、成功条件を確認できる形にします。
Step-by-step
- 目的と対象範囲を決める
まずは1つの処理だけを自動化対象にします。たとえば、アプリケーションのデータディレクトリを圧縮し、バックアップ用ディレクトリへ保存するところから始めます。
成功条件も先に決めておきます。例として「毎日9時にバックアップファイルが作成され、ログに成功メッセージが残る」状態をOKとします。
- バックアップ用スクリプトを用意する
以下は、指定したディレクトリを tar.gz にまとめて保存する最小構成の例です。環境に合わせて SOURCE_DIR と BACKUP_DIR を変更してください。
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/env bash
set -euo pipefail
SOURCE_DIR="${SOURCE_DIR:-/var/app/data}"
BACKUP_DIR="${BACKUP_DIR:-/var/backups/openclaw}"
TIMESTAMP="$(date '+%Y%m%d-%H%M%S')"
BACKUP_FILE="${BACKUP_DIR}/data-backup-${TIMESTAMP}.tar.gz"
mkdir -p "${BACKUP_DIR}"
tar -czf "${BACKUP_FILE}" -C "$(dirname "${SOURCE_DIR}")" "$(basename "${SOURCE_DIR}")"
echo "Backup created: ${BACKUP_FILE}"
保存したら、実行権限を付けます。
1
chmod +x ./backup-data.sh
- 手動で実行して確認する
定期実行に登録する前に、必ず一度手動で実行します。ここで失敗する場合は、OpenClawに登録しても同じ原因で失敗します。
1
SOURCE_DIR="$HOME/app-data" BACKUP_DIR="$HOME/backups" ./backup-data.sh
バックアップファイルが作成されたことを確認します。
1
ls -lh "$HOME/backups"
- OpenClawで定期実行を登録する
毎日9時にバックアップを実行する例です。タイムゾーンを明示して、意図しない時刻ずれを避けます。
1
2
3
4
5
6
openclaw cron add \
--name "daily-data-backup" \
--cron "0 9 * * *" \
--tz "Asia/Tokyo" \
--session isolated \
--message "SOURCE_DIR=$HOME/app-data BACKUP_DIR=$HOME/backups ./backup-data.sh を実行し、成功または失敗の理由を短く要約してください。"
--session isolated を使うと、日次ジョブを独立したセッションとして扱いやすくなります。実行結果の確認や失敗時の切り分けもしやすくなります。
- 実行結果を検証する
初回実行後は、バックアップファイルとログの両方を確認します。ファイルが存在するだけでなく、サイズが極端に小さくないかも見てください。
通知文は短く、原因が分かる形に揃えます。たとえば「成功: バックアップ作成済み」「失敗: SOURCE_DIRが存在しない」「失敗: 保存先の空き容量不足」のように、次の行動が分かる表現にします。
Common pitfalls
-
タイムゾーンを指定せず、UTC基準で想定外の時刻に実行される
--tz "Asia/Tokyo"のように、ジョブ登録時にタイムゾーンを明示します。 -
バックアップ対象のパスが存在せず、空の成果物だけが残る
定期実行前に手動実行し、ls -lhで作成されたファイルサイズを確認します。 -
保存先ディレクトリの容量不足で途中失敗する
バックアップ保存先は定期的に容量確認し、古いファイルを削除または外部ストレージへ移動する運用を決めておきます。 -
認証切れで外部ストレージへの転送が失敗する
クラウドストレージやリモートサーバーへ送る場合は、認証情報の有効期限と更新手順を事前に確認します。 -
依存サービスが停止していてジョブが完了しない
ローカルLLM、データベース、マウント済みディスクなどに依存する場合は、ジョブの前提条件として起動状態を確認します。
Summary
OpenClawでデータバックアップを自動化するレシピは、最小構成で開始し、ログ検証を挟みながら段階的に拡張するのが安全です。最初は1つの対象を毎日バックアップするだけで十分です。
安定して動くことを確認できたら、保存先の冗長化、古いバックアップの削除、失敗時通知の整備へ進めます。小さく始めて観測しながら広げることで、失敗を抑えながら運用を安定させられます。