nicetool.dev logo

Phân tích biểu thức Cron

Cú pháp cron chuẩn 5 trường (phút giờ ngày tháng thứ). Hỗ trợ macro như @daily.

“Mỗi 15 phút, trong giờ 9-17, vào Thứ Hai-Thứ Sáu”

*/15

Phút

0, 15, 30, 45

9-17

Giờ

9-17

*

Ngày (tháng)

mọi

*

Tháng

mọi

1-5

Thứ (tuần)

Thứ Hai-Thứ Sáu

Phổ biến
10 lần chạy tiếp theo

    Cú pháp

    *
    mọi giá trị
    ,
    danh sách giá trị
    -
    khoảng giá trị
    /
    bước nhảy (ví dụ */15)

    ┌ Phút
    │ ┌ Giờ
    │ │ ┌ Ngày (tháng)
    │ │ │ ┌ Tháng
    │ │ │ │ ┌ Thứ (tuần)
    * * * * *

    Hỗ trợ thêm: @yearly, @monthly, @weekly, @daily, @hourly. Có thể dùng tên như MON-FRI và JAN.

    Biểu thức cron là gì?

    Biểu thức cron là chuỗi gồm 5 trường định nghĩa lịch lặp lại cho crontab, Kubernetes CronJob, GitHub Actions và nhiều hệ thống lập lịch. Mỗi trường giới hạn thời điểm chạy: phút, giờ, ngày trong tháng, tháng và thứ trong tuần.

    Tính năng

    • • Diễn giải mọi lịch cron bằng ngôn ngữ dễ hiểu
    • • Phân tích từng trường với danh sách giá trị cụ thể
    • • 10 lần chạy tiếp theo theo múi giờ địa phương hoặc UTC
    • • Mẫu lịch phổ biến và thông báo lỗi rõ ràng

    Hoạt động offline

    Việc phân tích và tính lịch chạy diễn ra trong trình duyệt. Mẹo: khi cả ngày trong tháng và thứ trong tuần đều được đặt, cron sẽ chạy khi một trong hai khớp.

    Xử lý 100% cục bộ.

    Cách dùng công cụ Phân tích Cron

    1. 1

      Gõ biểu thức cron gồm năm trường: phút, giờ, ngày trong tháng, tháng và thứ trong tuần. Các macro như @daily, @hourly và @weekly cũng được hỗ trợ.

    2. 2

      Đọc phần mô tả bằng ngôn ngữ thường để chắc lịch chạy đúng ý, ví dụ "Lúc 09:00 từ thứ Hai đến thứ Sáu".

    3. 3

      Xem danh sách các lần chạy tiếp theo. Thời gian hiển thị theo múi giờ của bạn, nên biết chính xác lúc nào job sẽ chạy.

    4. 4

      Dùng các mẫu có sẵn và bảng cú pháp để tạo nhanh lịch thường gặp, rồi sao chép biểu thức vào crontab, CronJob của Kubernetes, GitHub Actions hay trình lập lịch của bạn.

    Ví dụ thực tế

    Sao lưu hằng đêm

    0 2 * * * chạy mỗi ngày lúc 02:00, giờ ít tải để dump database. Xem các lần chạy tiếp theo để chắc không trùng với job nặng khác.

    Chỉ trong giờ hành chính

    */15 9-17 * * 1-5 chạy mỗi 15 phút từ 09:00 đến 17:45, thứ Hai đến thứ Sáu, hợp để gọi API đối tác trong giờ làm việc.

    Báo cáo hằng tháng

    0 8 1 * * chạy lúc 08:00 ngày đầu tiên mỗi tháng, lịch quen thuộc cho hóa đơn hay email báo cáo sử dụng.

    Lịch chạy CI

    Trigger schedule của GitHub Actions dùng cùng năm trường và luôn chạy theo giờ UTC. Hãy so lần chạy tiếp theo với giờ Việt Nam (UTC+7) để tránh bất ngờ.

    Câu hỏi thường gặp

    Năm trường có ý nghĩa gì?+

    Theo thứ tự: phút (0-59), giờ (0-23), ngày trong tháng (1-31), tháng (1-12) và thứ trong tuần (0-6, 0 là Chủ nhật). Dấu sao nghĩa là "mọi giá trị".

    */15 nghĩa là gì?+

    Đó là bước nhảy: cứ mỗi 15 đơn vị của trường đó. */15 ở trường phút chạy vào phút 0, 15, 30 và 45. 10-50/20 sẽ chạy vào phút 10, 30 và 50.

    Vì sao job chạy nhiều ngày hơn dự kiến?+

    Khi cả ngày trong tháng và thứ trong tuần đều bị giới hạn, cron chuẩn chạy job khi một trong hai điều kiện khớp chứ không phải cả hai. 0 0 1 * 1 chạy vào ngày 1 mỗi tháng và mọi thứ Hai.

    Cron dùng múi giờ nào?+

    Crontab truyền thống dùng múi giờ của máy chủ, nhiều trình lập lịch trên cloud và GitHub Actions dùng UTC, còn Kubernetes cho phép đặt timeZone trong CronJob. Luôn kiểm tra job của bạn chạy ở đâu.

    Bài viết liên quan