2026 OpenClaw 예약 작업과 무인 운영: openclaw cron, 타임존, 복구(원격 Mac 상주 Gateway)

13 min read · MACCOME

Once your OpenClaw Gateway is healthy, the next reliability layer is scheduled work: channel probes, housekeeping, and recurring reports. This guide defines pre-flight gates, a minimal openclaw cron loop (when your CLI exposes it), UTC-first timezone rules, and a cold-start checklist after restarts, including why a dedicated remote Mac is a better home for always-on automation.

Why “the bot replies” does not imply “cron is safe”

  1. Missing health baselines: silent failures when disks fill or permissions drift.
  2. Timezone skew: mixing local crontab semantics with UTC CI causes double or missed runs.
  3. Overlapping schedulers: systemd timers and OpenClaw jobs hammering the same script without locking.

Pre-flight matrix before enabling cron-style jobs

Make “ready to schedule” an explicit gate, not a default.

CheckPassIf fail
Gatewayopenclaw gateway status healthyfix bind/service first
Disk>20% free on log volumerotate or expand
Doctorno blocking findingsresolve tokens/config drift
Channelsprobe succeedsdo not schedule channel-dependent jobs yet

Minimal loop: list, enable, verify, rollback

Assume your build ships openclaw cron subcommands aligned with community docs (cron list, cron status). Order: list → status → enable one job → watch one fire → document. Capture stdout for upgrades.

Timezones: author in UTC, read in local

Store schedules in UTC; print offsets in logs. For “09:00 weekday” rules, name the city whose 09:00 you mean.

info

Tip: snapshot openclaw cron list before and after each upgrade.

Cold start after Gateway restart

Verify process, registrations, and last-fired timestamps. If timestamps stall, inspect disk and permissions before blaming the scheduler. Cross-read the Gateway troubleshooting runbook.

Dedicated remote Mac topology

Laptops sleep; servers should not. Colocating Gateway and scheduled jobs on dedicated Apple Silicon removes power-policy noise. See the unattended launchd/systemd checklist.

Split duties with OS cron

Use OS cron for machine hygiene; use OpenClaw schedulers for tasks that need session context and channel credentials. Serialize with locks if both touch the same script.

Six-step rollout

  1. Pin versions and config paths.
  2. Run doctor and gateway status.
  3. List jobs with owners and alert routes.
  4. Enable a low-frequency probe first.
  5. Raise frequency while watching disk/CPU.
  6. Keep a one-command disable and last-known-good snapshot.
bash
openclaw gateway status
openclaw doctor
openclaw cron list || true
openclaw cron status || true
openclaw logs --follow

Three SRE metrics

  • Last successful fire vs SLA skew
  • Retry budget with exponential backoff for third-party APIs
  • Log growth MB/h per job

Why OS-only cron is usually insufficient

OS cron lacks first-class awareness of OpenClaw session state and channel tokens; upgrades can silently break wrapper scripts. MACCOME dedicated remote Macs give stable power, disks, and regions so Gateway plus schedules stay boringly correct.

작업 유형: 프로브·하우스키핑·업무 플로우

프로브는 저비용·멱등이며 수동 작업과 병행 가능해야 합니다. 하우스키핑은 로그 로테이션·캐시 정리 등으로 한정하고 사용자 가변 상태와 공유하지 않습니다. 업무 플로우(일일 요약 등)에는 owner·재시도 예산·멱등 키가 필요합니다.

백프레셔와 외부 API

외부 API에는 지수 백오프와 지터를 적용하고 작업명별 HTTP 분포를 기록해 429 증가를 조기에 감지합니다. 모델 프로바이더는 대화형과 배치를 분리합니다.

SLO와 성공 로그 결손 알림

「UTC 기준 일일 다이제스트는 예정 시각 +15분 이내」 같은 SLO를 두고, 성공 로그 부재도 알립니다.

보안 경계

관리자 CLI와 분리된 최소 권한 자격증명, 좁은 채널 권한, 업그레이드 전 동일 볼륨 백업을 요구합니다.

systemd 타이머 이전

신규 작업을 반주기로 돌리며 구 타이머 지표와 비교한 뒤 이주 후 종료합니다. 동일 SQLite/JSON 이중 쓰기 금지.

관측성: 한 번의 실행을 미니 트랜잭션으로

enqueue·픽업·채널 전송·모델 호출·영속화까지 run_id로 상관관계를 유지하고, 큐 깊이·가장 오래된 대기 시간을 함께 기록합니다. CPU는 평온한데 깊이만 증가하면 외부 API나 파일 잠금을 의심합니다.

시계·수면·누락 트리거

노트북 수면·VM 일시정지는 분 경계 작업을 놓칩니다. 권위 스케줄러는 상시 가동 호스트로 옮기고, 누락 허용 시 보강 정책을 문서화합니다. NTP 상태를 주간 점검에 포함합니다.

리스·업그레이드 창

공유 개발기에서는 재시작이 협상 비용이 됩니다. Gateway+cron을 전용 원격 Mac으로 분리하면 유지보수 창과 스냅샷 전략이 단순해집니다. MACCOME 6개 리전 독점 노드는 변동성을 줄이기 위한 인프라입니다.

Runbook 필드

영향 범위, 롤백, 의존 서비스, 드라이런 가능 여부를 분기별로 갱신합니다.

FAQ

Jobs vanished after upgrade?

Diff config volumes and re-run doctor. Public entry: home.

Conflict with systemd timers?

Partition scripts or add file locks; keep business semantics in OpenClaw.

Disk full, no logs?

Fix log rotation and mounts before raising cadence.