mcpField
C
cron-ops

cron-ops

github.com/alphaonedevクラウド・DevOps64 回インストール
リポジトリ

cron-ops について

cron-ops は、OpenClaw の cron ジョブをライフサイクル全体にわたって管理するスキルです。本番環境の自動化を保守するチーム向けに、設定変更、トラブルシューティング、ペイロードのサニタイズを行います。

主な機能

  1. 01cron ジョブの作成と更新
  2. 02不要なジョブの削除
  3. 03ログ確認と障害調査
  4. 04誤検知の修正
  5. 05インジェクション対策のサニタイズ

活用シーン

  1. 01毎日のバックアップをスケジュール
  2. 02失敗した cron ジョブの調査
  3. 03API ポーリングタスクの保守
  4. 04ワークフロー内の古いジョブを整理

インストール

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill cron-ops

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

詳細

cron-ops

目的

このスキルは、OpenClaw の cron ジョブの作成、更新、削除、デバッグ、誤検知の修正、ペイロードのサニタイズなど、ライフサイクル全体を管理し、安全で信頼性の高い自動化を実現します。

使用する場面

本番環境でのバックアップ、データ同期、アラートなど、繰り返し実行するタスクをスケジュールする場合、cron の失敗をトラブルシューティングする場合、または自動化されたワークフローでジョブを適切に管理する場合に、このスキルを使用します。サーバーの保守や API のポーリングなど、システム自動化を伴う場面で適用してください。

主な機能

  • カスタムスケジュールとコマンドを指定して cron ジョブを作成します。
  • スケジュール、コマンド、パラメーターを変更するためにジョブを更新します。
  • 使用していないスケジュールを整理するためにジョブを削除します。
  • 出力をログに記録し、エラーを調査してジョブをデバッグします。
  • 実行ログを分析してフィルターを調整し、誤検知を修正します。
  • インジェクション攻撃を防ぐためにペイロードをサニタイズし、コマンドの安全性を確保します。

使用パターン

必ず $OPENCLAW_API_KEY 環境変数を使用して認証してください。CLI では、コマンドの先頭に openclaw cron を付けます。API では、https://api.openclaw.com/cron のような HTTPS エンドポイントを使用します。まずジョブを作成し、更新や削除には ID を使用します。コードでは OpenClaw SDK をインポートし、レスポンスを同期的に処理します。使用例:競合を避けるため、更新前にジョブのステータスを確認します。

一般的なコマンド/API

手早く操作するには OpenClaw CLI を、プログラムからアクセスするには REST API を使用します。認証には $OPENCLAW_API_KEY の設定が必要です。

  • ジョブを作成する(CLI):
    openclaw cron create --schedule "0 0 * * *" --command "echo 'Hello'" --payload '{"key": "value"}'
    毎日午前 0 時に実行するジョブをスケジュールします。

  • ジョブを更新する(API):
    curl -X PUT https://api.openclaw.com/cron/jobs/{jobId} -H "Authorization: Bearer $OPENCLAW_API_KEY" -d '{"schedule": "0 30 * * *", "command": "backup.sh"}'
    既存のジョブのスケジュールを更新し、毎時 30 分に実行するようにします。

  • ジョブを削除する(CLI):
    openclaw cron delete --job-id 12345 --force
    指定したジョブを削除します。--force を指定すると確認を省略します。

  • ジョブをデバッグする(API):
    curl -X GET https://api.openclaw.com/cron/jobs/{jobId}/logs -H "Authorization: Bearer $OPENCLAW_API_KEY"
    デバッグ用のログを取得します。JSON 出力を解析してエラーの詳細を確認します。

  • 誤検知を修正する(CLI):
    openclaw cron fix --job-id 12345 --filter "error_type=timeout"
    ジョブの設定でフィルターを更新し、よくある誤検知を無視するように修正します。

  • ペイロードをサニタイズする(コード例):

    import openclaw
    client = openclaw.Client(api_key=os.environ['OPENCLAW_API_KEY'])
    sanitized_payload = client.sanitize({'command': 'echo "unsafe"; rm -rf /'})
    print(sanitized_payload)  # Outputs a safe version
    

    ジョブを作成する前に、ユーザー入力のペイロードを整理するために使用します。

ジョブの設定形式は JSON です。例:{"schedule": "cron_expression", "command": "shell_command", "payload": {"key": "value"}}。

統合に関する注意事項

ワークフロー内でジョブ ID を参照して、他の OpenClaw スキルと統合します。たとえば、監視を強化するには logging スキルにリンクします。CLI コマンドに --webhook-url フラグを追加して Webhook を使用します。例:openclaw cron create --webhook-url "https://your.service/webhook"。複数のサービスを使用する環境では、Docker または CI/CD パイプラインの環境変数を介して $OPENCLAW_API_KEY を渡します。最新の OpenClaw SDK バージョン(v2.5 以降)を使用して互換性を確保してください。外部システムとの連携では、cron スケジュールを Unix crontab などの標準形式に対応付けます。

エラー処理

よくあるエラーには、認証エラー(HTTP 401)、無効なスケジュール(HTTP 400)、ジョブの競合(HTTP 409)があります。レスポンスコードを確認して対処します。ステータスが 401 の場合は、$OPENCLAW_API_KEY を確認してください。無効なスケジュールについては、openclaw cron validate --schedule "invalid" で検証します。コードでは try-except ブロックを使用します。

try:
    response = client.create_job(schedule="0 0 * * *")
except openclaw.AuthError as e:
    print("Auth failed: Set $OPENCLAW_API_KEY")
except openclaw.ValidationError as e:
    print(f"Invalid input: {e}")

一時的なエラーは、指数バックオフを使用して再試行します。追跡できるよう、すべてのエラーをジョブ ID とともにログに記録します。

具体的な使用例

  1. 毎日のバックアップジョブを作成する:
    まず、$OPENCLAW_API_KEY を設定します。次に、以下を実行します:openclaw cron create --schedule "0 2 * * *" --command "rsync -a /data/ /backup/"。openclaw cron list で確認します。これにより毎日午前2時にバックアップが自動化され、失敗した場合はログを調べてデバッグできます。

  2. 失敗した cron ジョブをデバッグして修正する:
    openclaw cron list --status failed でジョブを特定します。デバッグには、以下を実行します:curl -X GET https://api.openclaw.com/cron/jobs/12345/logs -H "Authorization: Bearer $OPENCLAW_API_KEY"。誤検知の場合は、openclaw cron fix --job-id 12345 --filter "status=timeout" で修正します。これにより、スケジュールされたタスクでのネットワークタイムアウトなどの問題を解決できます。

グラフの関係

  • 依存先:core-openclaw(基本 API 用)
  • 関連:scheduling(高度なタイマー用)、automation(ワークフロー統合用)
  • 競合:なし
  • 拡張先:jobs(一般的なタスク管理用)

コメント