OpenClawの定期実行は、「絶対パス」「実行権限」「ログ出力」を先に固めると安定します。
この記事では、OpenClawコマンドをシェルスクリプトにまとめ、cronで定期実行するまでを実行可能な形で説明します。
Background
OpenClawを使ったビルドやチェックは、手動運用だと実行漏れが起きやすくなります。
定期実行を入れることで、品質確認を日常のフローに組み込みやすくなります。
ここではLinux環境を前提に、openclaw コマンドを定期実行する最小構成を扱います。
OpenClaw本体の導入方法は環境差があるため、まずはコマンドが使える状態を確認します。
1
2
3
# openclawコマンドが利用可能か確認
command -v openclaw
openclaw --help
Step-by-step
- 実行用スクリプトを作成します。
set -euo pipefailを入れて、失敗時に早く気づけるようにします。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mkdir -p /home/yourname/bin /home/yourname/logs
cat > /home/yourname/bin/openclaw_build.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
# OpenClawコマンドの絶対パス(command -v openclaw で確認した値を設定)
OPENCLAW_BIN="/usr/local/bin/openclaw"
# 対象プロジェクトへ移動
cd /home/yourname/projects/my-cpp-project
# 実行時刻をログに残す
echo "[$(date '+%Y-%m-%d %H:%M:%S')] openclaw build start"
"$OPENCLAW_BIN" build
echo "[$(date '+%Y-%m-%d %H:%M:%S')] openclaw build done"
EOF
- 実行権限を付与し、手動でテストします。
cron登録前に単体実行して、失敗原因を先に潰します。
1
2
chmod +x /home/yourname/bin/openclaw_build.sh
/home/yourname/bin/openclaw_build.sh
- cronに登録して定期実行します。
以下は「30分ごと」に実行し、標準出力と標準エラーを同じログへ追記する例です。
1
crontab -e
*/30 * * * * /home/yourname/bin/openclaw_build.sh >> /home/yourname/logs/openclaw_build.log 2>&1
- 登録内容を確認します。
設定ミスがないか、最後に一覧を確認します。
1
crontab -l
Common pitfalls
-
openclaw: command not foundが出る
cronは対話シェルのPATHを引き継がないことがあります。openclawは必ず絶対パスで指定してください(command -v openclawで確認)。 -
スクリプトは動くのにcronだと失敗する
cron実行時のカレントディレクトリは期待どおりではありません。cd /path/to/projectをスクリプト内で明示してください。 -
実行されたか分からない
>> /path/to/log 2>&1でログを残し、スクリプト内にも日時ログを出してください。障害時の切り分けが速くなります。 -
実行権限不足で起動しない
chmod +xを忘れるとcronから実行できません。権限付与後に手動実行テストを必ず行ってください。 -
失敗しても気づけない
set -euo pipefailを入れて異常終了を検知しやすくします。必要なら通知(メールやWebhook)を追加してください。
Summary
OpenClawの定期実行は、スクリプト化してcronに登録するだけで始められます。
絶対パス指定、事前の手動テスト、ログ設計の3点を押さえることで、安定した運用にしやすくなります。