真實經驗分享:我是個數據分析師,每天需要執行大量定時任務——早上 8 點抓取競品價格、中午 12 點生成銷售報表、下午 5 點備份資料庫、每週一發送團隊週報。以前用 crontab 管理,但常因伺服器重啟導致任務中斷,或某個腳本出錯了沒人知道。用 OpenClaw 的 Cron Jobs 與 Heartbeat 機制後,所有排程任務穩定運作,出錯時即時通知,我終於可以安心睡覺。
在自動化領域,「定時執行」與「健康監測」是兩個基礎但至關重要的能力。傳統的 cron job 雖然強大,但缺乏現代化監控、錯誤通知、與動態調整能力。OpenClaw 的 Cron Jobs 與 Heartbeat 系統,將傳統排程升級為「智能自動化引擎」。本文將完整解析這兩個系統的設定方法與進階應用。

Cron Jobs:精準定時的自動化執行
Cron Jobs 是 Linux/Unix 系統中歷史悠久的定時任務機制。OpenClaw 不僅完整支援標準 Cron 語法,還加入了現代化的管理介面與錯誤處理能力。
Cron 語法快速參考
| 欄位 | 含義 | 範例 |
|---|---|---|
| 分鐘 | 0-59 | 0 = 整點 |
| 小時 | 0-23 | 9 = 上午 9 點 |
| 日期 | 1-31 | * = 每天 |
| 月份 | 1-12 | * = 每月 |
| 星期 | 0-7(0 與 7 都是週日) | 1-5 = 週一到週五 |
常見範例:
0 9 * * 1-5= 每個工作日上午 9 點0 */4 * * *= 每 4 小時一次0 0 * * 0= 每週日午夜0 8 1 * *= 每月 1 號上午 8 點
OpenClaw Cron Jobs 的獨特優勢
相比傳統 crontab,OpenClaw 的 Cron Jobs 具備以下現代化功能:
- 時區感知:可以指定任務執行的時區,避免伺服器時區與業務時區不一致的問題
- 錯誤重試:任務失敗時自動重試(可設定重試次數與間隔)
- 依賴管理:任務 A 成功完成後才執行任務 B
- 執行日誌:完整的執行歷史,便於除錯與審計
- 動態啟停:無需重啟系統,可隨時啟用或停用特定任務
Heartbeat:主動監測與即時通知
如果 Cron Jobs 是「我會在這個時間做這件事」,那麼 Heartbeat 就是「如果我沒有在預期時間出現,請通知我」。
Heartbeat 機制讓 OpenClaw 能夠:
- 定期「報平安」——確認系統與各項服務正常運作
- 監測外部系統的可用性(網站、API、資料庫)
- 當異常發生時,即時透過 Telegram、Slack、Email 發送警報
- 執行自動化修復腳本(如重啟服務、清理暫存檔)

完整設定教學
第一步:建立 Cron Jobs 配置(20 分鐘)
建立 ~/.openclaw/cron/jobs.yaml:
cron_jobs:
- name: daily_sales_report
schedule: "0 12 * * *"
timezone: "Asia/Taipei"
command: "openclaw skills run sales-report --date yesterday"
retry:
max_attempts: 3
delay_seconds: 300
notify_on_failure:
channel: telegram
target: "@admin"
- name: competitor_price_check
schedule: "0 8,14 * * *"
timezone: "Asia/Taipei"
command: "openclaw skills run price-scraper --competitors all"
log_level: info
- name: weekly_team_report
schedule: "0 9 * * 1"
timezone: "Asia/Taipei"
command: "openclaw skills run weekly-summary --channel #management"
dependencies:
- daily_sales_report
第二步:設定 Heartbeat 監測(20 分鐘)
建立 ~/.openclaw/heartbeat/monitors.yaml:
heartbeat_monitors:
- name: website_uptime
type: http_check
target: "https://www.94iplay.com"
interval: "5m"
timeout: "10s"
expected_status: 200
alert_channels:
- type: telegram
target: "@admin"
- type: email
target: "admin@94iplay.com"
- name: api_response_time
type: api_check
target: "https://api.94iplay.com/health"
interval: "1m"
timeout: "5s"
thresholds:
response_time_ms: 500
error_rate_percent: 1.0
alert_channels:
- type: slack
target: "#ops-alerts"
- name: database_health
type: command
command: "pg_isready -h localhost -p 5432"
interval: "2m"
on_failure:
action: restart_service
service: postgresql
max_restarts: 3
第三步:啟動服務(5 分鐘)
# 載入 Cron Jobs
openclaw cron reload
# 啟動 Heartbeat 監測
openclaw heartbeat start
# 查看運行狀態
openclaw cron status
openclaw heartbeat status
第四步:設定通知渠道(10 分鐘)
確保已在 OpenClaw 中配置至少一個通知渠道(Telegram、Slack 或 Email)。當 Cron Job 失敗或 Heartbeat 偵測到異常時,系統會透過這些渠道即時通知你。
進階應用場景
智能重試與降級
對於關鍵任務,可以設定多層重試策略。第一次失敗後 5 分鐘重試,第二次失敗後 15 分鐘重試,第三次失敗後發送緊急通知並執行降級腳本(如啟動備用服務)。
條件觸發執行
Cron Job 不僅能定時執行,還能設定條件觸發。例如「只在工作日執行」、「只在網站流量低於 1000 RPM 時執行備份」、「只在股市開盤日執行交易分析」。
Heartbeat 的創意應用
除了監測伺服器,Heartbeat 還能:
- 監測競爭對手網站的內容更新(偵測到變化時通知)
- 追蹤特定商品的庫存狀態(補貨時即時通知)
- 監測社群媒體帳號的粉絲數變化(異常波動時預警)
- 確認團隊成員的每日報告是否準時提交
常見問題與排除方法
Q: Cron Job 沒有準時執行?
檢查時區設定是否正確(使用 openclaw config get timezone),確認 OpenClaw Gateway 服務正在運行(systemctl status openclaw-gateway),檢查日誌中的錯誤訊息(openclaw logs --job daily_sales_report)。
Q: Heartbeat 誤報頻繁?
調整閾值設定,給予合理的誤差範圍。對於外部 API 監測,考慮網路延遲的波動性,將 timeout 設定為正常回應時間的 2-3 倍。
Q: 任務執行時間過長導致下一輪重疊?
使用 lock 設定防止重疊執行。或在任務設計時將長時間操作拆分為多個短任務,透過依賴關係串連。
結語
Cron Jobs 與 Heartbeat 是 OpenClaw 自動化體系的「神經系統」——Cron Jobs 負責「自主行動」,Heartbeat 負責「感知與反應」。當兩者結合,你的自動化系統就具備了完整的生命週期管理能力:定時執行、監測健康、異常警報、自動修復。
開始設定你的智能排程與監測系統,讓自動化真正「無人值守」。如果你想了解更多整合應用,歡迎閱讀我們的 《OpenClaw + Google Calendar 整合》 或 《OpenClaw + Notion 整合》 教學,打造完整的自動化生態系統。
最後更新:2026年5月16日