Chuyển đến nội dung

Tạo và giải thích biểu thức cron

Tạo lịch cron bằng giao diện trực quan, đọc giải thích bằng tiếng Việt dễ hiểu và xem trước các lần chạy tiếp theo ở mọi múi giờ. Hỗ trợ cú pháp chuẩn, Quartz và AWS, ngay trên trình duyệt.

Diễn giải dễ hiểu

At 09:30, on Monday through Friday

Mẫu có sẵn

Tạo trực quan

10 lần chạy tiếp theo

Đang tính…

Thời điểm bị bỏ qua do đổi giờ mùa hè sẽ không chạy; giờ bị lặp chỉ chạy một lần. Trình cron thực tế có thể khác đôi chút.

Bảng tra cứu nhanh — Chuẩn
TrườngGiá trị cho phép
Phút0–59
Giờ0–23
Ngày trong tháng1–31
Tháng1–12 hoặc JAN–DEC
Ngày trong tuần0–7 (0 và 7 = Chủ nhật) hoặc SUN–SAT
Ký hiệuÝ nghĩa
*mọi giá trị
,danh sách: 1,15 = ngày 1 và ngày 15
-khoảng: 1-5 = từ 1 đến 5
/bước nhảy: */15 = mỗi 15; 5/15 = 5, 20, 35, 50
@dailymacro: @yearly @monthly @weekly @daily @hourly (và @reboot)

Khi cả ngày trong tháng và ngày trong tuần đều bị giới hạn, cron chuẩn sẽ chạy vào những ngày khớp một trong hai.

Chạy ngay trên trình duyệt · không cần tải lênCách hoạt động

Cách sử dụng Trình tạo biểu thức cron

  1. 1

    Chọn kiểu cú pháp

    Chọn cron chuẩn, cron có giây, Quartz hoặc AWS EventBridge, hoặc cứ dán biểu thức và để số trường quyết định.

  2. 2

    Viết hoặc dựng lịch chạy

    Nhập biểu thức, bắt đầu từ một mẫu có sẵn hoặc đặt từng trường bằng trình chỉnh sửa trực quan.

  3. 3

    Đọc lại kết quả

    Xem phần diễn giải dễ hiểu và các trường được tô sáng để chắc chắn biểu thức đúng ý bạn.

  4. 4

    Kiểm tra các lần chạy tiếp theo

    Chọn múi giờ và xác nhận 10 lần chạy tiếp theo, rồi sao chép biểu thức.

Giới hạn và Pro

Miễn phí, không cần đăng ký: 4 kiểu cú pháp, 12 mẫu có sẵn và 10 lần chạy tiếp theo ở bất kỳ múi giờ nào trong hơn 400 múi giờ, tìm tối đa 30 năm tới (hoặc đến năm cuối của biểu thức).

Pro gỡ quảng cáo; công cụ hoạt động như nhau ở mọi gói. Xem Pro

Về Trình tạo biểu thức cron

Biểu thức cron gói gọn một lịch chạy trong vài trường cách nhau bằng dấu cách, và chỉ cần đặt sai một con số là “mỗi ngày trong tuần lúc 9 giờ” có thể thành “mỗi phút của giờ thứ 9”. Công cụ này cho bạn viết hoặc dán một biểu thức, rồi hiển thị ngay phần diễn giải dễ hiểu kèm nhãn cho từng trường, cùng danh sách mười lần chạy tiếp theo.

Công cụ hỗ trợ bốn kiểu cú pháp vì chúng thực sự khác nhau. Cron chuẩn có năm trường: phút, giờ, ngày trong tháng, tháng và ngày trong tuần. Đây là kiểu của crontab, tiến trình cron trên Linux, Kubernetes CronJob và GitHub Actions, đồng thời chấp nhận các macro như @daily. Kiểu có giây thêm một trường giây ở đầu, như trong node-cron và croner. Quartz dùng sáu hoặc bảy trường gồm giây và năm tùy chọn, đánh số Chủ nhật là 1, bắt buộc có dấu ? ở một trong hai trường ngày, và thêm L cho “cuối cùng”, W cho “ngày làm việc gần nhất”, # cho “thứ sáu thứ ba”. AWS EventBridge có sáu trường, kết thúc bằng năm, dùng chung quy tắc ngày với Quartz và được viết dưới dạng cron(…). Khi dán biểu thức, công cụ tự đổi kiểu nếu số trường đủ rõ, và khi bạn đổi kiểu, nội dung hiện có được chuyển đổi nếu có thể.

Trình chỉnh sửa trực quan đặt từng trường bằng các điều khiển mỗi / mỗi N / giá trị cụ thể / khoảng, còn các mẫu có sẵn bao quát những tác vụ phổ biến. Giờ chạy được tính theo bất kỳ múi giờ IANA nào, có xét đến khoảng nhảy giờ mùa hè, và quy tắc EventBridge mặc định dùng UTC như cách AWS đánh giá.

Công cụ chỉ kiểm tra cú pháp và thời điểm chạy: không biết đồng hồ máy chủ của bạn, các lần chạy bị lỡ khi máy tắt, hay giới hạn riêng của từng bộ lập lịch, chẳng hạn khoảng cách tối thiểu của GitHub.

Quyền riêng tư

Biểu thức được phân tích và giờ chạy được tính bằng mã ngay trong trang này, dùng dữ liệu múi giờ của trình duyệt; không có gì được gửi lên máy chủ. Kiểu cú pháp và múi giờ đã chọn được lưu trong bộ nhớ cục bộ cho lần truy cập sau.

Tính năng

Diễn giải dễ hiểu

“Lúc 09:30, từ thứ hai đến thứ sáu” thay vì đoán xem 30 9 * * 1-5 làm gì.

10 lần chạy tiếp theo, mọi múi giờ

Giờ chạy theo UTC hoặc bất kỳ múi giờ IANA nào, có xử lý thay đổi giờ mùa hè.

Cú pháp Quartz và AWS

Giây, năm, ?, L, W và # cho các bộ lập lịch hỗ trợ chúng.

Trình tạo biểu thức cron: câu hỏi thường gặp

Vì sao tác vụ của tôi chạy nhiều ngày hơn dự kiến?
Trong cron chuẩn, nếu cả trường ngày trong tháng và ngày trong tuần đều bị giới hạn, tác vụ chạy khi một trong hai khớp. Vì vậy 0 9 13 * 5 chạy vào mọi ngày 13 và cả mọi thứ sáu, không chỉ thứ sáu ngày 13. Phần diễn giải ở đây nói rõ điều đó. Quartz và AWS tránh sự mơ hồ này bằng cách bắt buộc có dấu ? ở một trong hai trường.
*/15 nghĩa là gì trong biểu thức cron?
Dấu gạch chéo là bước nhảy: */15 ở trường phút nghĩa là mỗi 15 phút bắt đầu từ 0, tức vào phút :00, :15, :30 và :45. Giá trị bắt đầu sẽ dịch mốc đó: 5/15 chạy vào :05, :20, :35 và :50. Kết hợp với khoảng, 9-17/2 ở trường giờ nghĩa là cứ hai giờ một lần từ 9 đến 17.
Cron dùng múi giờ nào?
Tiến trình cron cổ điển dùng múi giờ địa phương của máy chủ, trừ khi crontab đặt CRON_TZ hoặc TZ. Kubernetes CronJob mặc định theo múi giờ của bộ điều khiển nhưng chấp nhận trường timeZone, GitHub Actions chạy theo UTC, còn quy tắc EventBridge luôn dùng UTC, trong khi EventBridge Scheduler cho phép chọn múi giờ. Hãy chọn múi giờ tương ứng ở đây để xem trước giờ chạy thực tế.
Chuyện gì xảy ra khi đổi giờ mùa hè?
Khi đồng hồ chỉnh tới trước, các giờ địa phương trong khoảng bị nhảy qua không tồn tại, còn khi chỉnh lùi thì một giờ xuất hiện hai lần. Bản xem trước này bỏ qua giờ không tồn tại và chỉ chạy một lần với giờ lặp lại. Tiến trình thực tế khác nhau: Vixie cron và cronie cố chạy các tác vụ bị bỏ lỡ, nên với tác vụ lúc 01:00–03:00 giờ địa phương, hãy ưu tiên UTC hoặc xem tài liệu của bộ lập lịch.
Làm sao chuyển một dòng crontab sang định dạng Quartz hoặc AWS?
Chọn kiểu cú pháp mới trong danh sách và biểu thức sẽ được chuyển đổi: thêm trường giây cho Quartz, trường năm cho AWS, số ngày trong tuần đổi từ 0–6 sang 1–7 và đặt dấu ? vào trường ngày không dùng. Nếu bản gốc đặt cả ngày trong tháng lẫn ngày trong tuần, bạn sẽ được báo rằng kiểu đích không thể diễn đạt tổ hợp đó.