Agent/๐Ÿš€ OpenClaw/images/openclaw-06-cronjob-diagram.svg

์ด ๋ฌธ์„œ๋Š” CronJob์„ **์œ ์ € ๊ด€์ (๋ฌด์—‡์„ ๋งํ•˜๋ฉด ๋˜๋Š”์ง€)**๊ณผ **OpenClaw ๊ด€์ (๋‚ด๋ถ€ ๊ฒฝ๋กœ/์–‘์‹)**์œผ๋กœ ๋‚˜๋ˆ ์„œ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

AI ํ™œ์šฉ ์•ˆ๋‚ด: ์ด ๋ฌธ์„œ๋Š” ์ƒ์„ฑํ˜• AI ๋ณด์กฐ๋ฅผ ๋ฐ›์•„ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


๋จผ์ € ๋‹ต: ๋งํฌ๋งŒ ์ฃผ๋ฉด ์ž๋™ ์„ค์ •๋˜๋‚˜?

์งง๊ฒŒ ๋งํ•˜๋ฉด ๋งํฌ๋งŒ์œผ๋กœ๋Š” ์ž๋™ ์„ค์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ๋งํฌ + ๋ชฉ์ ์„ ๊ฐ™์ด ์ฃผ๋ฉด ์„ค์ • ๊ฐ€๋Šฅ
  • ์˜ˆ: โ€œ์ด ๋งํฌ ์ฐธ๊ณ ํ•ด์„œ ๋งค์ผ ์˜ค์ „ 7์‹œ์— ์š”์•ฝ ๋ณด๋‚ด๋Š” cron ์žก ์„ค์ •ํ•ด์ค˜โ€

์ฆ‰, ์œ ์ €๊ฐ€ JSON์„ ๋‹ค ์ดํ•ดํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๋™์ž‘๋งŒ ๋งํ•˜๋ฉด ๋˜๊ณ , OpenClaw๊ฐ€ ๋‚ด๋ถ€ ์–‘์‹์œผ๋กœ ๋ณ€ํ™˜ํ•ด ์„ค์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.


1) ์œ ์ € ๊ด€์ : ์ด๋ ‡๊ฒŒ ๋งํ•˜๋ฉด ๋œ๋‹ค (๋ช…๋ น์–ด/์š”์ฒญ๋ฌธ)

A. ์ฑ„ํŒ…์—์„œ ๋ฐ”๋กœ ์š”์ฒญ (๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•)

1) "20๋ถ„ ๋’ค์— ํšŒ์˜ ์ค€๋น„ํ•˜๋ผ๊ณ  ๋ฆฌ๋งˆ์ธ๋“œ cron ์žก ๋งŒ๋“ค์–ด์ค˜"
2) "๋งค์ผ ์˜ค์ „ 7์‹œ์— AI ๋‰ด์Šค ๋ธŒ๋ฆฌํ•‘ cron์œผ๋กœ ๋ณด๋‚ด์ค˜"
3) "30๋ถ„๋งˆ๋‹ค ๊ต์œก์š”์ฒญ ๋ฉ”์ผ ์ฒดํฌํ•ด์„œ ์ƒˆ ๋ฉ”์ผ๋งŒ ์•Œ๋ ค์ค˜"
4) "๋“ฑ๋ก๋œ cron ๋ชฉ๋ก ๋ณด์—ฌ์ค˜"
5) "OOO ์žก ์ง€๊ธˆ ํ•œ ๋ฒˆ ๊ฐ•์ œ ์‹คํ–‰ํ•ด์ค˜"
6) "OOO ์žก ๋น„ํ™œ์„ฑํ™”/์‚ญ์ œํ•ด์ค˜"

B. ํ„ฐ๋ฏธ๋„ CLI๋กœ ์ง์ ‘ ์‹คํ–‰ (์„ ํƒ)

openclaw cron list
openclaw cron run <job-id>
openclaw cron runs --id <job-id>
openclaw cron remove --id <job-id>

์ž์ฃผ ์“ฐ๋Š” ์ถ”๊ฐ€ ์˜ˆ์‹œ:

# ๋งค์ผ 07:00, isolated ์‹คํ–‰ + ์ „๋‹ฌ
openclaw cron add \
  --name "Morning brief" \
  --cron "0 7 * * *" \
  --tz "Asia/Seoul" \
  --session isolated \
  --message "์˜ค๋Š˜์˜ AI ๋‰ด์Šค 3๊ฐœ๋ฅผ ์š”์•ฝํ•ด์ค˜" \
  --announce
 
# 1ํšŒ์„ฑ ๋ฆฌ๋งˆ์ธ๋”
openclaw cron add \
  --name "Call back" \
  --at "2026-02-19T01:00:00Z" \
  --session main \
  --system-event "๋ฆฌ๋งˆ์ธ๋”: ๊ณ ๊ฐ ์ฝœ๋ฐฑ"

2) OpenClaw ๊ด€์ : ์„ค์ • ๋งค๋‰ด์–ผ (๊ฒฝ๋กœ + ์–‘์‹)

2-1. ์ €์žฅ ๊ฒฝ๋กœ

Cron Job์€ Gateway ํ˜ธ์ŠคํŠธ์— ์˜๊ตฌ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ ๊ฒฝ๋กœ: ~/.openclaw/cron/jobs.json

์ฃผ์˜:

  • ์ˆ˜๋™ ํŽธ์ง‘์€ Gateway ์ค‘์ง€ ์ƒํƒœ์—์„œ๋งŒ ์•ˆ์ „
  • ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” openclaw cron ... ๋˜๋Š” cron tool ํ˜ธ์ถœ ์‚ฌ์šฉ ๊ถŒ์žฅ

2-2. ํ•ต์‹ฌ ๊ตฌ์กฐ

flowchart LR
  U[์œ ์ € ์š”์ฒญ] --> J[Job ์ƒ์„ฑ]
  J --> S[schedule: ์–ธ์ œ]
  J --> T[sessionTarget: ์–ด๋””์„œ]
  J --> P[payload: ๋ฌด์—‡์„]
  J --> D[delivery: ์–ด๋””๋กœ ๋ณด๋‚ผ์ง€]

  T --> M[main]
  T --> I[isolated]
  M --> MS[systemEvent ํ•„์ˆ˜]
  I --> IA[agentTurn ํ•„์ˆ˜]

ํ•„์ˆ˜ ํ•„๋“œ

{
  "schedule": { ... },
  "sessionTarget": "main | isolated",
  "payload": { ... }
}

๊ทœ์น™(์ค‘์š”)

  • sessionTarget: "main" ์ด๋ฉด payload.kind๋Š” ๋ฐ˜๋“œ์‹œ "systemEvent"
  • sessionTarget: "isolated" ์ด๋ฉด payload.kind๋Š” ๋ฐ˜๋“œ์‹œ "agentTurn"
  • delivery๋Š” isolated job์—์„œ๋งŒ ์‚ฌ์šฉ
  • isolated์—์„œ delivery ์ƒ๋žต ์‹œ ๊ธฐ๋ณธ๊ฐ’์€ ๋ณดํ†ต announce

3) OpenClaw ๊ด€์ : ๋ณต๋ถ™ ํ…œํ”Œ๋ฆฟ

ํ…œํ”Œ๋ฆฟ A โ€” ๋ฉ”์ธ ์„ธ์…˜(systemEvent) 1ํšŒ ๋ฆฌ๋งˆ์ธ๋”

{
  "name": "๋ฆฌ๋งˆ์ธ๋”",
  "schedule": { "kind": "at", "at": "2026-02-19T01:00:00Z" },
  "sessionTarget": "main",
  "wakeMode": "now",
  "payload": {
    "kind": "systemEvent",
    "text": "๋ฆฌ๋งˆ์ธ๋”: 10์‹œ ํšŒ์˜ ์ค€๋น„ ์‹œ์ž‘"
  },
  "deleteAfterRun": true
}

ํ…œํ”Œ๋ฆฟ B โ€” isolated ๋ฐ˜๋ณต ์ž‘์—… + ์ฑ„๋„ ์ „๋‹ฌ

{
  "name": "๋งค์ผ ์•„์นจ ๋‰ด์Šค ๋ธŒ๋ฆฌํ•‘",
  "schedule": {
    "kind": "cron",
    "expr": "0 7 * * *",
    "tz": "Asia/Seoul"
  },
  "sessionTarget": "isolated",
  "payload": {
    "kind": "agentTurn",
    "message": "์˜ค๋Š˜์˜ AI/๊ธฐ์ˆ  ํ•ต์‹ฌ ๋‰ด์Šค 3๊ฐœ๋ฅผ ์š”์•ฝํ•ด์„œ ์ „๋‹ฌํ•ด์ค˜."
  },
  "delivery": {
    "mode": "announce",
    "channel": "telegram",
    "to": "telegram:YOUR_TELEGRAM_USER_ID"
  }
}

4) ์šด์˜ ์ฒดํฌ๋ฆฌ์ŠคํŠธ (์‹ค์ˆ˜ ๋ฐฉ์ง€)

  • ์‹œ๊ฐ„๋Œ€(tz)๋ฅผ ๋ช…์‹œํ–ˆ๋Š”๊ฐ€? (์˜ˆ: Asia/Seoul)
  • main/isolated์™€ payload.kind ์กฐํ•ฉ์ด ๋งž๋Š”๊ฐ€?
  • ์ „๋‹ฌ์ด ํ•„์š”ํ•œ ์žก์€ delivery๋ฅผ ์„ค์ •ํ–ˆ๋Š”๊ฐ€?
  • ๋“ฑ๋ก ํ›„ list/run์œผ๋กœ ์Šค๋ชจํฌ ํ…Œ์ŠคํŠธ ํ–ˆ๋Š”๊ฐ€?
  • ์‹คํŒจ ์‹œ runs --id <job-id>๋กœ ์ตœ๊ทผ ์‹คํ–‰๋กœ๊ทธ๋ฅผ ํ™•์ธํ–ˆ๋Š”๊ฐ€?

๊ฒฐ๋ก 

CronJob์€ โ€œ์–ธ์ œ + ๋ฌด์—‡์„โ€๋งŒ ๋ช…ํ™•ํ•˜๋ฉด ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์œ ์ €๋Š” ์ž์—ฐ์–ด๋กœ ์š”์ฒญ
  • OpenClaw๋Š” ๋‚ด๋ถ€ ์–‘์‹(JSON)์œผ๋กœ ๋ณ€ํ™˜
  • ์šด์˜์ž๋Š” ๊ฒฝ๋กœ/๊ทœ์น™๋งŒ ์•Œ๋ฉด ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅ

Flux ๐Ÿฆž | 2026-02-18

โ† Mac Mini + Ollama | Quota ๊ด€๋ฆฌ โ†’

๊ด€๋ จ ๊ธ€