OpenClaw Cron Job 定時任務完整教學:設定一次,自動做嘢

·8 分鐘OpenClaw 2026.3.11 · 驗證於 15/3/2026

TL;DR

OpenClaw 嘅 Cron Job 讓你設定「每 X 時間自動執行某個任務」。設定一次,之後永久自動跑,唔需要你手動觸發。


Cron Expression 速查表

Cron 用 5 個數字定義時間,格式係:分 時 日 月 星期

Expression意思
0 7 * * *每日早上 7:00
0 9 * * 1每週一早上 9:00
0 */6 * * *每 6 小時一次
*/30 * * * *每 30 分鐘一次
0 23 * * *每日晚上 11:00
0 9,15 * * *每日 9:00 同 15:00
0 9 * * 1-5星期一至五早上 9:00

5 個實用 Cron Job 範例

範例一:每日 7:00 發早報摘要

openclaw cron add \
  --schedule "0 7 * * *" \
  --agent main \
  --command "執行 Email 早報,抓取 Gmail 收件箱過去 24 小時嘅 email,按優先級分類,透過 Telegram 發送摘要。" \
  --new-session

詳細設定睇Email 早報教學

範例二:每週一 9:00 生成工作總結

openclaw cron add \
  --schedule "0 9 * * 1" \
  --agent coder \
  --command "生成上週工作總結:讀取 ~/.notes/weekly/ 入面上週嘅筆記,整理成「完成事項、進行中、下週重點」三部分,透過 Telegram 發送,並儲存到 ~/.notes/weekly/summary-$(date +%Y-W%V).md" \
  --new-session

範例三:每 6 小時檢查 GitHub Issues

openclaw cron add \
  --schedule "0 */6 * * *" \
  --agent coder \
  --command "檢查 GitHub repo 有冇新嘅未處理 issue。如果有,列出 issue 標題同連結,透過 Telegram 通知我。" \
  --new-session

範例四:每日 23:00 備份重要檔案

# 建立備份 prompt
cat > ~/.openclaw/prompts/daily-backup.md << 'EOF'
執行每日備份:
1. 壓縮 ~/Documents/projects/ 目錄
2. 複製到 ~/Backups/daily/backup-$(date +%Y-%m-%d).tar.gz
3. 刪除 7 天以前嘅備份(保留最近 7 個)
4. 透過 Telegram 確認備份完成,說明備份大小
 
如果任何步驟失敗,立刻 Telegram 通知我並停止。
EOF
 
openclaw cron add \
  --schedule "0 23 * * *" \
  --agent main \
  --prompt-file ~/.openclaw/prompts/daily-backup.md \
  --new-session

範例五:每小時檢查網頁變化

openclaw cron add \
  --schedule "0 * * * *" \
  --agent crawler \
  --command "訪問 https://example.com/news,檢查有冇新文章(同 memory 記錄嘅上次清單比較)。有新文章就 Telegram 通知標題同連結。" \
  --new-session

Cron Job 管理指令

# 睇所有 cron jobs
openclaw cron list
 
# 刪除某個 cron job(用 ID)
openclaw cron remove <cron-id>
 
# 暫停 / 恢復
openclaw cron pause <cron-id>
openclaw cron resume <cron-id>
 
# 手動觸發一次(測試用)
openclaw cron run <cron-id>
 
# 睇執行歷史
openclaw cron history <cron-id>

安全隱患

Cron Job 係無人監督嘅自動執行。

如果你嘅 Cron Job prompt 被 prompt injection 攻擊(例如監控嘅網頁入面含有惡意指令),Agent 會在你唔知情嘅情況下自動執行。

高風險組合: Cron Job + exec Tool + 訪問外部網站 = 攻擊者可以透過惡意網頁內容讓你嘅機執行任意指令。

安全建議:

  • Cron Job 用最小所需 Tool 權限(唔需要 exec 嘅唔好開)
  • 每個 Cron Job 用獨立嘅 Agent,唔好混用
  • 定期檢查 openclaw cron history 確認執行正常

更多安全設定睇安全避坑指南

費用累積警告:

Cron Job 長期跑係費用嘅最大來源之一。每個 Job 用新 session 係必要嘅——冇 --new-session 嘅 Cron Job 會讓 session 不斷增長,費用指數級上升。詳細睇Token 慳錢攻略


踩坑:電腦休眠會跳過 Cron

問題: 你部 Mac 喺 cron 指定時間休眠,任務會被跳過。

解決方法 A: 喺 macOS 系統偏好 → 電池 → 停用「閒置時睡眠」(但會耗電)

解決方法 B:launchd 代替,macOS 的 launchd 支持 wake-on-demand:

# OpenClaw 有內建轉換工具
openclaw cron to-launchd <cron-id>

踩坑:時區問題

OpenClaw Cron 預設用系統時區。確認你嘅系統時區設定正確:

# 確認時區
date
 
# 如需要可以喺 cron 設定時區
openclaw cron add --schedule "0 7 * * *" --timezone "Asia/Hong_Kong" ...

FAQ

Q:Cron Job 同 Heartbeat 有乜分別?

Cron Job 係按固定時間表執行(例如每日 7 點)。Heartbeat 係持續運行嘅後台進程,可以做即時監控。Cron 更省資源、費用更可控;Heartbeat 更即時但消耗更多 token。大部分定時任務用 Cron 就夠。

Q:可唔可以設置 Cron 失敗時自動重試?

可以喺 prompt 裡面寫明錯誤處理邏輯,但 OpenClaw 本身冇原生嘅自動重試機制。建議加入「如果失敗,Telegram 通知我並說明錯誤」嘅指令,然後手動判斷需唔需要重新執行。

Q:幾多個 Cron Job 係合理上限?

冇硬性限制,但超過 10 個 Cron Job 需要注意費用。每個 Job 都有執行成本,定期審查哪些 Job 仍然有用,唔用嘅 pause 或 remove。