onlinetools.dev

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

Diễn giải mọi lịch cron bằng lời dễ hiểu kèm các lần chạy kế tiếp

Chạy cục bộ
loading…
Về công cụ này

Dán một biểu thức cron năm trường và nhận lời giải thích bằng ngôn ngữ đời thường, kèm bảng bóc tách từng trường và — phần bắt được lỗi thật — năm mốc chạy kế tiếp được tính theo múi giờ địa phương của bạn. “0 3 * * 1” đọc thành “vào 03:00, các ngày thứ Hai”, rồi tới những ngày cụ thể mà nó sẽ chạy.

Bộ phân tích hỗ trợ đầy đủ cú pháp chuẩn: danh sách (1,15), khoảng (9-17), bước nhảy (*/15), tên tháng và tên thứ (jan, mon), số 7 hiểu là Chủ nhật, cùng họ macro @daily/@hourly. Nó cũng cài đặt đúng cái quy tắc ai cũng quên: khi cả trường ngày trong tháng lẫn thứ trong tuần đều bị giới hạn, công việc sẽ chạy khi một trong hai khớp, chứ không phải cả hai.

Biểu thức sáu trường (kiểu Quartz, có giây) được phát hiện và báo rõ thay vì lặng lẽ phân tích sai — đây là nguồn gốc phổ biến nhất của nỗi hoang mang “cron của tôi chạy sai giờ” khi chuyển qua lại giữa bộ lập lịch Java và crontab Unix.

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

Năm trường đó theo thứ tự là gì?
Phút (0–59), giờ (0–23), ngày trong tháng (1–31), tháng (1–12), thứ trong tuần (0–6, Chủ nhật = 0, và 7 cũng được chấp nhận là Chủ nhật). Nhớ đúng thứ tự là cuộc vật lộn muôn đời — bảng bóc tách sẽ gắn nhãn cho từng trường trong biểu thức của bạn.
Vì sao “0 0 1 * 1” lại chạy nhiều hơn tôi tưởng?
Vì cả ngày trong tháng (ngày 1) lẫn thứ trong tuần (thứ Hai) đều bị giới hạn, nên cron chạy công việc khi MỘT TRONG HAI khớp — tức mọi ngày mùng 1 VÀ mọi thứ Hai. Muốn nói “ngày 1 chỉ khi rơi vào thứ Hai”, bạn phải tự kiểm tra ngày trong script.
Các mốc chạy kế tiếp dùng múi giờ nào?
Múi giờ địa phương của trình duyệt bạn, hiển thị ngay cạnh kết quả. Crontab thật chạy theo múi giờ của máy chủ (hoặc dòng TZ= ở một số bản cron) — luôn xác nhận máy đích đang dùng gì, nhất là quanh các mốc đổi giờ mùa hè.
Công cụ có hỗ trợ giây hay năm không?
Không — đó là phần mở rộng của Quartz (Java) với 6 hoặc 7 trường. Cron Unix chuẩn có đúng năm trường và độ phân giải một phút. Đầu vào sáu trường sẽ được phát hiện và báo là Quartz thay vì bị đọc sai.
Công cụ liên quan