·ClawNode자동화크론AI에이전트

매일 아침 출근 전, 텔레그램에 뉴스 요약이 와있으면 어떨까요. 매주 금요일 오후에 주간 보고서가 자동으로 정리되어 있으면요.

크론(cron)이 이걸 가능하게 합니다. 정해진 시간에 AI가 알아서 실행하는 예약 작업입니다.

그런데 실전에서 크론을 운영해보면, "왜 내 알람이 안 울리지?"가 제일 흔한 질문이 됩니다.

크론이 안 도는 5가지 이유

이유 1: 게이트웨이가 꺼져 있다

OpenClaw 크론은 게이트웨이 프로세스에 의존합니다. 게이트웨이가 꺼지면 크론도 멈춥니다.

노트북에서 돌리면 덮개를 닫을 때마다 AI도 잠듭니다. 24/7 자동화가 필요하다면, 24/7 켜져있는 장치가 필요합니다. 라즈베리 파이, Mac Mini, 클라우드 서버가 이유가 있습니다. Mac Mini로 AI 에이전트 운영하는 방법을 참고하세요.

이유 2: isolated 크론이 무한히 멈추는 버그

GitHub Issue #44052. ARM64(라즈베리 파이, Mac Mini)와 Linux 전반에서 반복 보고된 문제입니다.

isolated + agentTurn 크론 잡이 running 상태에서 무한히 멈춤.
main + systemEvent는 정상 동작.

격리 세션에서 독립 작업을 실행하는 것이 이론적으로 깔끔하지만, 실전에서는 불안정합니다. 세션 생성 자체가 실패하거나, 완료 이벤트가 발화되지 않습니다.

해결법: isolated가 안 되면 systemEvent + main 세션으로 전환해보세요.

이유 3: 하나가 막히면 전부 멈춘다

GitHub Issue #42097.

크론 잡이 타임아웃 없이 stuck되면, 같은 레인에 대기 중인 잡들이 전부 차단됩니다. 60분 이상 대기한 사례도 보고됐습니다.

finished 이벤트가 발화되지 않으면 로그도 기록되지 않습니다. 며칠째 크론이 안 돌고 있어도 모르는 상황이 생깁니다.

해결법: 크론 잡에 반드시 timeoutSeconds를 설정하세요. 그리고 주기적으로 openclaw cron list로 상태를 확인하세요.

이유 4: config에서 비활성화된 상태

설치 후 기본값이 비활성인 경우가 있습니다. openclaw cron list로 등록된 잡과 현재 상태부터 확인하세요.

이유 5: schedule.kind 혼동

"every" + everyMs 조합이 자동 트리거가 안 되는 버그가 있었습니다. "crontab" 스타일이 더 안정적이라는 게 커뮤니티 합의입니다.

하트비트 vs 크론: 다른 도구입니다

비슷해 보이지만 목적이 다릅니다.

| | 하트비트 | 크론 | |---|---|---| | 목적 | 상태 점검 | 작업 실행 | | 트리거 | 시간 간격 (30분마다) | 정확한 시각 (매일 08:00) | | 핵심 파일 | HEARTBEAT.md | 없음 | | 비용 영향 | 높음 (풀 컨텍스트 로드) | 보통 |

하트비트는 "내가 살아있나 확인하는 것"이고, 크론은 "이 시간에 이 일을 하는 것"입니다. 둘 다 게이트웨이에 의존합니다.

하트비트의 비용 함정(Issue #43767)은 별도 주제입니다. 크론도 메인 세션에서 실행되면 전체 컨텍스트를 로드합니다. 저렴한 모델(Gemini Flash-Lite 등)로 분리 운영하는 게 핵심입니다. AI 에이전트 비용 최적화 가이드에서 더 자세히 다뤘습니다.

실전 설정 예시

"매일 아침 8시 뉴스 요약" 크론

{
  "cron": [
    {
      "name": "morning-news",
      "schedule": "0 8 * * *",
      "prompt": "오늘의 AI/Tech 뉴스 3개를 검색하고 한국어로 요약해서 텔레그램으로 보내줘",
      "model": "google/gemini-flash-lite",
      "session": "main",
      "kind": "systemEvent",
      "timeoutSeconds": 300
    }
  ]
}

포인트 세 가지입니다.

  • model: 뉴스 요약에 Opus가 필요 없습니다. Flash-Lite로 충분합니다.
  • timeoutSeconds: 없으면 무한 대기로 전체 레인이 막힙니다.
  • session: "main": isolated보다 안정적입니다.

운영 체크리스트

실전에서 권장하는 5가지 설정입니다.

  1. AGENTS.md: 크론에서 실행할 행동 규칙을 명시
  2. memoryFlush: 컴팩션 전 자동 저장 활성화
  3. ackReaction: 수신 확인 이모지 (AI가 살아있는지 시각적 확인)
  4. blockStreaming: 크론 작업에는 스트리밍 불필요
  5. activeHours: 새벽에 알림이 오는 상황을 방지

실제 운영 사례: 보안 컨설턴트의 크론

사이버보안 컨설턴트 Simon Roses는 라즈베리 파이 5에서 세 가지 크론을 돌립니다.

  • 매일 아침 8시: 이메일 정리
  • 매일 밤 8시: 코드 빌드 + PR 생성
  • 매일 오후 3시: 보안 리서치 리포트

PR 1건 비용은 약 $0.35(Sonnet 4 기준). 24시간 자율 에이전트 운영의 현실적인 수치입니다.

한 가지 주의점: 텔레그램과 웹챗을 동시에 활성화하면 크론 결과가 두 채널에 동시에 전송됩니다. 채널 라우팅을 명확히 설정해두세요.

게이트웨이 재시작이 크론을 죽이는 상황

GitHub Issue #44093.

openclaw gateway restart가 실패하면 LaunchAgent(자동 시작 설정)까지 삭제되는 사례가 있었습니다. 재시작 실패가 서비스 자체 삭제로 이어지고, 크론도 함께 멈춥니다.

안전한 운영을 위한 원칙: 게이트웨이 외부에 독립적인 모니터링을 두세요. 크론이 돌아가는 프로세스에만 의존하면, 그 프로세스가 죽을 때 모니터링도 같이 죽습니다.

설정 변경할 때도 주의

GitHub Issue #44096.

설정 변경을 감지하면 기본적으로 게이트웨이가 재시작됩니다. 크론을 세팅하려고 openclaw.json을 수정하는데, 수정할 때마다 진행 중인 크론 작업이 중단될 수 있습니다.

설정 변경은 한 번에 모아서, 게이트웨이 로그를 확인하면서 하는 게 안전합니다.


AI 에이전트 자동화를 처음 시작한다면 OpenClaw 사용 가이드부터 읽어보세요. 자동화 수준을 더 높이고 싶다면 예약 / 자율 작업 기능을 확인해 보세요.