openclaw cron backup automation

OpenClawでデータバックアップを毎日自動化するレシピ

OpenClawのcron機能を使って、日次データバックアップを自動化する手順を紹介します。最小構成から始め、ログ確認と通知を整えながら安全に運用へ広げるための実践レシピです。

日次バックアップは、実行漏れが起きると復旧時に大きな差が出る運用タスクです。OpenClawで定期実行し、結果をログとして残しておくと、手作業に頼らず安定したバックアップ運用を作れます。

結論: OpenClawでデータバックアップを自動化するレシピは、最小構成で始めてログを見ながら段階的に広げるのが最短です。

Background

毎日の運用タスクは、手作業だと実行漏れや設定ブレが起きやすくなります。特にバックアップは「動いているつもり」になりやすいため、実行ログと成果物の確認まで含めて自動化することが重要です。

最初から複数の保存先や複雑な通知を組み込む必要はありません。まずは1つのディレクトリを1日1回バックアップし、成功条件を確認できる形にします。

Step-by-step

  1. 目的と対象範囲を決める

まずは1つの処理だけを自動化対象にします。たとえば、アプリケーションのデータディレクトリを圧縮し、バックアップ用ディレクトリへ保存するところから始めます。

成功条件も先に決めておきます。例として「毎日9時にバックアップファイルが作成され、ログに成功メッセージが残る」状態をOKとします。

  1. バックアップ用スクリプトを用意する

以下は、指定したディレクトリを tar.gz にまとめて保存する最小構成の例です。環境に合わせて SOURCE_DIRBACKUP_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
  1. 手動で実行して確認する

定期実行に登録する前に、必ず一度手動で実行します。ここで失敗する場合は、OpenClawに登録しても同じ原因で失敗します。

1
SOURCE_DIR="$HOME/app-data" BACKUP_DIR="$HOME/backups" ./backup-data.sh

バックアップファイルが作成されたことを確認します。

1
ls -lh "$HOME/backups"
  1. 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 を使うと、日次ジョブを独立したセッションとして扱いやすくなります。実行結果の確認や失敗時の切り分けもしやすくなります。

  1. 実行結果を検証する

初回実行後は、バックアップファイルとログの両方を確認します。ファイルが存在するだけでなく、サイズが極端に小さくないかも見てください。

通知文は短く、原因が分かる形に揃えます。たとえば「成功: バックアップ作成済み」「失敗: SOURCE_DIRが存在しない」「失敗: 保存先の空き容量不足」のように、次の行動が分かる表現にします。

Common pitfalls

  • タイムゾーンを指定せず、UTC基準で想定外の時刻に実行される
    --tz "Asia/Tokyo" のように、ジョブ登録時にタイムゾーンを明示します。

  • バックアップ対象のパスが存在せず、空の成果物だけが残る
    定期実行前に手動実行し、ls -lh で作成されたファイルサイズを確認します。

  • 保存先ディレクトリの容量不足で途中失敗する
    バックアップ保存先は定期的に容量確認し、古いファイルを削除または外部ストレージへ移動する運用を決めておきます。

  • 認証切れで外部ストレージへの転送が失敗する
    クラウドストレージやリモートサーバーへ送る場合は、認証情報の有効期限と更新手順を事前に確認します。

  • 依存サービスが停止していてジョブが完了しない
    ローカルLLM、データベース、マウント済みディスクなどに依存する場合は、ジョブの前提条件として起動状態を確認します。

Summary

OpenClawでデータバックアップを自動化するレシピは、最小構成で開始し、ログ検証を挟みながら段階的に拡張するのが安全です。最初は1つの対象を毎日バックアップするだけで十分です。

安定して動くことを確認できたら、保存先の冗長化、古いバックアップの削除、失敗時通知の整備へ進めます。小さく始めて観測しながら広げることで、失敗を抑えながら運用を安定させられます。

タグ: openclaw cron backup automation