DevToolPal
VI

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

Giải thích biểu thức cron bằng ngôn ngữ dễ hiểu và liệt kê các lần chạy tiếp theo theo múi giờ của bạn hoặc UTC.

Chạy cục bộ, không bao giờ tải lên

Tùy chọn

Múi giờ

Biểu thức cron

Kết quả

Kết quả sẽ hiện ở đây

Công cụ này làm gì

Công cụ phân tích biểu thức cron giải thích một lịch cron bằng ngôn ngữ dễ hiểu và liệt kê những lần chạy tiếp theo. Cú pháp cron gọn nhưng rất dễ viết sai: 0 9 * * 1-5 là chín giờ sáng các ngày trong tuần, hay mỗi phút trong khung chín giờ? Hãy dán biểu thức vào đây trước khi triển khai để kiểm tra chính xác khi nào nó được kích hoạt.

Mỗi trường trong năm trường cũng được tách ra thành đúng các giá trị mà nó cho phép, giúp dễ dàng phát hiện lỗi trong khoảng và bước nhảy.

Cách sử dụng

  1. Gõ biểu thức cron vào ô đầu vào, hoặc nhấn Ví dụ.
  2. Đọc phần mô tả và bảng các trường. Lỗi sẽ chỉ ra trường và cột bị sai, ví dụ giờ bằng 24.
  3. Chọn Giờ địa phương hoặc UTC cho các lần chạy sắp tới, và số lần chạy cần hiển thị.

Cú pháp cron

Một biểu thức cron có năm trường, phân tách bằng dấu cách:

┌───────────── minute (0–59)
│ ┌─────────── hour (0–23)
│ │ ┌───────── day of month (1–31)
│ │ │ ┌─────── month (1–12 or JAN–DEC)
│ │ │ │ ┌───── day of week (0–7 or SUN–SAT, 0 and 7 are Sunday)
│ │ │ │ │
* * * * *
Ký hiệuÝ nghĩaVí dụ
*mọi giá trị* ở trường giờ = mỗi giờ
,một danh sách1,15 = vào ngày 1 và ngày 15
-một khoảngMON-FRI = từ thứ Hai đến thứ Sáu
/một bước nhảy*/15 = mỗi 15 phút

Các dạng viết tắt cũng được chấp nhận: @hourly, @daily (hoặc @midnight), @weekly, @monthly và @yearly (hoặc @annually).

Ví dụ

Biểu thứcLịch chạy
*/5 * * * *mỗi 5 phút
0 * * * *vào đầu mỗi giờ
0 9 * * 1-5lúc 09:00 các ngày trong tuần
30 2 1 * *lúc 02:30 ngày đầu tiên mỗi tháng
0 0 * * 0lúc nửa đêm mỗi Chủ nhật

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

› Công cụ này dùng định dạng cron nào?

Định dạng cron Unix (Vixie) chuẩn gồm năm trường, được crontab, Kubernetes CronJob, GitHub Actions và hầu hết các trình lập lịch sử dụng. Các định dạng sáu trường có giây (Quartz, Spring) không được hỗ trợ.

› Chuyện gì xảy ra khi đặt cả ngày trong tháng lẫn ngày trong tuần?

Cron chuẩn sẽ chạy tác vụ khi một trong hai trường khớp. Ví dụ 0 0 1,15 * 5 chạy vào ngày 1 và ngày 15 mỗi tháng và vào mọi thứ Sáu.

› Vì sao thời điểm chạy trên máy chủ của tôi lại khác?

Cron dùng múi giờ của máy hoặc dịch vụ chạy nó. GitHub Actions và hầu hết trình lập lịch trên cloud dùng UTC, vì vậy hãy chuyển Múi giờ sang UTC để xem chúng sẽ chạy lúc nào.

› Có dùng được tên như MON hay JAN không?

Có. Trường tháng chấp nhận JAN–DEC và trường ngày trong tuần chấp nhận SUN–SAT, không phân biệt chữ hoa chữ thường. Chủ nhật có thể viết là 0 hoặc 7.