
Cách sử dụng
- Chọn một mẫu trong Mẫu crontab phổ biến để bắt đầu, hoặc tự gõ biểu thức cron vào ô Dòng crontab.
- Đọc lịch chạy bằng lời ở mục Lịch chạy. Nếu biểu thức sai, công cụ báo ngay trước khi bạn đưa lên máy chủ.
- Xem 5 lần chạy tới, hiển thị theo múi giờ của thiết bị, để chắc tác vụ chạy đúng lúc bạn muốn.
- Có thể dán cả dòng crontab kèm command phía sau lịch; command được hiện riêng ở mục Command sẽ chạy. Bấm Sao Chép để sao chép kết quả.
Cấu trúc biểu thức cron
Một biểu thức cron chuẩn có năm trường cách nhau bằng dấu cách: phút, giờ, ngày trong tháng, tháng và thứ trong tuần. Phần sau trường thứ năm trong một dòng crontab là command sẽ chạy.
| Trường | Giá trị cho phép | Ví dụ |
|---|---|---|
| Phút | 0–59 | 30 = phút thứ 30 |
| Giờ | 0–23 | 14 = 2 giờ chiều |
| Ngày trong tháng | 1–31 | 1 = ngày mùng 1 |
| Tháng | 1–12 hoặc JAN–DEC | JUN = tháng 6 |
| Thứ trong tuần | 0–7 hoặc SUN–SAT (0 và 7 là Chủ nhật) | 1-5 = thứ Hai đến thứ Sáu |
Ký tự đặc biệt
* nghĩa là mọi giá trị. Dấu phẩy tạo danh sách (9,17 = lúc 9 giờ và 17 giờ). Dấu gạch nối tạo khoảng (1-5 = từ 1 đến 5). Dấu gạch chéo đặt bước nhảy (*/15 = mỗi 15, còn 0-30/10 = 0, 10, 20 và 30).
Các viết tắt như @hourly, @daily, @weekly, @monthly, @yearly và @reboot thay được cho cả năm trường. @reboot chạy một lần khi máy chủ khởi động, nên không có mốc thời gian để xem trước.
Bảng biểu thức cron thường dùng
Chép một dòng vào ô ở trên rồi sửa con số để có lịch bạn cần.
| Biểu thức cron | Chạy lúc |
|---|---|
| * * * * * | Mỗi phút |
| */5 * * * * | Mỗi 5 phút |
| */15 * * * * | Mỗi 15 phút |
| 0 * * * * | Mỗi giờ, đúng phút 0 |
| 0 */2 * * * | Mỗi 2 giờ |
| 0 0 * * * | Mỗi ngày lúc nửa đêm |
| 0 9 * * 1-5 | Thứ Hai đến thứ Sáu lúc 9:00 |
| 0 9,17 * * * | Mỗi ngày lúc 9:00 và 17:00 |
| 30 2 * * 0 | Chủ nhật lúc 2:30 sáng |
| 0 0 1 * * | Ngày mùng 1 mỗi tháng lúc nửa đêm |
| 0 0 1 1 * | Mỗi năm một lần, nửa đêm ngày 1/1 |
Đặt cả ngày trong tháng và thứ trong tuần
Khi cả hai trường ngày đều được đặt, cron chạy tác vụ nếu một trong hai khớp, không phải chỉ khi cả hai cùng khớp. 0 0 13 * 5 chạy lúc nửa đêm vào mọi ngày 13 và mọi thứ Sáu, không chỉ thứ Sáu ngày 13. Phần xem trước ở trên tuân theo quy tắc này nên bạn thấy được ngày chạy thật.
Múi giờ
Cron dùng múi giờ của máy chủ đang chạy nó, thường là UTC. Trang này xem trước theo múi giờ của thiết bị bạn. Nếu VPS đặt UTC và bạn ở Việt Nam (UTC+7), tác vụ 0 9 * * * sẽ chạy lúc 16:00 giờ Việt Nam. Muốn chạy lúc 9 giờ sáng Việt Nam trên máy chủ UTC, đặt giờ là 2: 0 2 * * *.
Câu hỏi thường gặp
Có hỗ trợ giây hoặc cron kiểu Quartz không?
Không. Công cụ đọc biểu thức crontab chuẩn năm trường, như Linux cron, cPanel và hầu hết bảng điều khiển hosting. Quartz và Spring dùng sáu hoặc bảy trường (có giây, và các ký tự như L, W, #), nên các biểu thức đó sẽ báo không hợp lệ ở đây.
Chạy cron job mỗi 5 phút thế nào?
Dùng */5 * * * * rồi đến command của bạn. */5 ở trường phút nghĩa là cứ mỗi phút thứ năm: 0, 5, 10 và cứ thế.
Chủ nhật là 0 hay 7?
Cả hai. Hầu hết các bản cron nhận 0 và 7 là Chủ nhật, công cụ này cũng vậy. Bạn cũng có thể viết SUN.
Vì sao cron job chạy sai giờ?
Thường do múi giờ máy chủ khác múi giờ của bạn, hoặc do đặt cả ngày trong tháng lẫn thứ trong tuần, khiến cron chạy khi một trong hai khớp.
Dòng crontab của tôi có bị gửi đi không?
Không. Biểu thức được phân tích trong trình duyệt, nên command, đường dẫn và URL trong dòng crontab không rời khỏi thiết bị của bạn.