Tạo Cron Expression
Công cụ tạo và xây dựng Cron Expression online miễn phí. Tạo, trực quan hóa và kiểm tra biểu thức lịch trình cron cho Linux, Unix và Quartz với mô tả dễ hiểu. Hoàn hảo cho lập trình viên và quản trị viên hệ thống.
Tạo Cron Expression - Tạo lịch trình Cron Online
Công cụ tạo Cron Expression online mạnh mẽ giúp bạn tạo, trực quan hóa và kiểm tra biểu thức lịch trình cron. Hỗ trợ cả định dạng Unix/Linux (5 trường) và Quartz (6-7 trường) với mô tả dễ hiểu và xem trước thời gian chạy tiếp theo.
Cron Expression là gì?
Cron expression (biểu thức cron) là một chuỗi định nghĩa lịch trình cho các tác vụ tự động. Nó bao gồm các trường đại diện cho đơn vị thời gian:
- Phút (0-59)
- Giờ (0-23)
- Ngày trong tháng (1-31)
- Tháng (1-12 hoặc JAN-DEC)
- Ngày trong tuần (0-7 hoặc SUN-SAT, trong đó 0 và 7 là Chủ nhật)
- Năm (tùy chọn, cho Quartz)
Ký tự đặc biệt:
* (dấu sao) - Bất kỳ giá trị nào
, (dấu phẩy) - Phân tách danh sách giá trị
- (gạch ngang) - Khoảng giá trị
/ (dấu gạch chéo) - Giá trị bước nhảy
? (dấu hỏi) - Không có giá trị cụ thể (chỉ Quartz)
Ví dụ: `0 9 * * 1-5` nghĩa là "Lúc 9:00 sáng, từ thứ Hai đến thứ Sáu"
Sự khác biệt giữa định dạng cron Unix và Quartz là gì?
Unix/Linux Cron (5 trường):
- Định dạng: `phút giờ ngày tháng ngàytrongtuan`
- Ví dụ: `30 14 * * 1` = Mỗi thứ Hai lúc 2:30 chiều
- Được dùng bởi: Linux crontab, hệ thống Unix, hầu hết các server
- Phạm vi: Chỉ từ phút đến ngày trong tuần
Quartz Cron (6-7 trường):
- Định dạng: `giây phút giờ ngày tháng ngàytrongtuan [năm]`
- Ví dụ: `0 30 14 * * MON` = Mỗi thứ Hai lúc 2:30:00 chiều
- Được dùng bởi: Java Quartz Scheduler, Spring Boot, nhiều framework ứng dụng
- Có trường giây
- Có thể bao gồm trường năm tùy chọn
- Hỗ trợ ? (không có giá trị cụ thể)
Công cụ này hỗ trợ cả hai định dạng. Chọn dựa trên nơi bạn sẽ sử dụng biểu thức.
Làm thế nào để tạo cron expression?
Tạo cron expression rất dễ dàng với công cụ này:
1. Chọn định dạng của bạn (Unix hoặc Quartz)
2. Với mỗi đơn vị thời gian, chọn mẫu:
- Mỗi: Chạy ở mọi khoảng (dùng *)
- Cụ thể: Chạy ở các giá trị cụ thể (vd: 0,15,30,45)
- Khoảng: Chạy trong một khoảng (vd: 9-17 cho 9 sáng đến 5 chiều)
- Bước nhảy: Chạy theo khoảng cách (vd: */15 cho mỗi 15 phút)
3. Xem biểu thức được tạo
4. Đọc mô tả dễ hiểu để xác minh
5. Kiểm tra thời gian chạy tiếp theo để xác nhận lịch trình
6. Sao chép và sử dụng trong hệ thống của bạn
Công cụ kiểm tra biểu thức của bạn theo thời gian thực và cho bạn biết chính xác khi nào nó sẽ chạy.
Một số ví dụ cron expression phổ biến?
Dưới đây là các cron expression phổ biến:
Mỗi phút:
`* * * * *` (Unix)
`0 * * * * *` (Quartz)
Mỗi giờ ở phút 0:
`0 * * * *` (Unix)
`0 0 * * * *` (Quartz)
Mỗi ngày lúc nửa đêm:
`0 0 * * *` (Unix)
`0 0 0 * * *` (Quartz)
Mỗi ngày trong tuần lúc 9 sáng:
`0 9 * * 1-5` (Unix)
`0 0 9 * * MON-FRI` (Quartz)
Mỗi 15 phút:
`*/15 * * * *` (Unix)
`0 */15 * * * *` (Quartz)
Ngày đầu tiên của tháng lúc 6 sáng:
`0 6 1 * *` (Unix)
`0 0 6 1 * *` (Quartz)
Hai lần mỗi ngày (9 sáng và 6 chiều):
`0 9,18 * * *` (Unix)
`0 0 9,18 * * *` (Quartz)
*/15 trong cron có nghĩa là gì?
Ký hiệu */15 nghĩa là "mỗi 15 đơn vị" và được gọi là giá trị bước nhảy:
- */15 ở phút = Mỗi 15 phút (0, 15, 30, 45)
- */2 ở giờ = Mỗi 2 giờ (0, 2, 4, 6, 8, 10...)
- */5 ở ngày = Mỗi 5 ngày (1, 6, 11, 16, 21, 26)
Phân tích:
- * nghĩa là "tất cả các giá trị có thể"
- /15 nghĩa là "mỗi giá trị thứ 15"
- Kết hợp: "từ tất cả các giá trị, lấy mỗi giá trị thứ 15"
Bạn cũng có thể chỉ định khoảng với bước nhảy:
- 0-30/5 = Mỗi 5 phút từ 0 đến 30 (0, 5, 10, 15, 20, 25, 30)
- 9-17/2 = Mỗi 2 giờ từ 9 sáng đến 5 chiều (9, 11, 13, 15, 17)
Điều này hữu ích để tạo khoảng thời gian đều đặn mà không cần liệt kê tất cả các giá trị.
Làm thế nào để kiểm tra cron expression của tôi?
Công cụ này cung cấp nhiều cách để kiểm tra cron expression của bạn:
1. Mô tả dễ hiểu:
- Tự động dịch biểu thức của bạn sang tiếng Việt đơn giản
- Ví dụ: "Lúc 9:00 sáng, từ thứ Hai đến thứ Sáu"
- Giúp bạn xác minh lịch trình khớp với ý định của bạn
2. Thời gian chạy tiếp theo:
- Hiển thị 5-10 lần thực thi được lên lịch tiếp theo
- Hiển thị ngày và giờ thực tế
- Giúp phát hiện sai sót (vd: sai múi giờ, ngày không mong muốn)
3. Trình tạo trực quan:
- Các điều khiển tương tác hiển thị các tùy chọn hợp lệ
- Ngăn tạo biểu thức không hợp lệ
- Làm nổi bật xung đột hoặc vấn đề
4. Kiểm tra theo thời gian thực:
- Kiểm tra cú pháp khi bạn gõ
- Hiển thị lỗi ngay lập tức
- Đảm bảo biểu thức hợp lệ trước khi sử dụng
Trước khi triển khai, hãy luôn xác minh:
- Lịch trình khớp với yêu cầu của bạn
- Thời gian chạy tiếp theo trông đúng
- Múi giờ được xem xét (nếu có)
- Biểu thức hoạt động với cron implementation của bạn (Unix vs Quartz)
Tôi có thể dùng tên tháng thay vì số không?
Có! Cron expression hỗ trợ cả số và tên cho tháng và ngày:
Tháng (1-12):
- Số: 1, 2, 3... 12
- Tên: JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
- Ví dụ: `0 0 1 JAN,JUL *` = Nửa đêm ngày 1 tháng Giêng và tháng Bảy
Ngày trong tuần (0-7, trong đó 0 và 7 = Chủ nhật):
- Số: 0-7
- Tên: SUN, MON, TUE, WED, THU, FRI, SAT
- Ví dụ: `0 9 * * MON-FRI` = 9 sáng từ thứ Hai đến thứ Sáu
Lưu ý:
- Tên thường là viết tắt 3 chữ cái
- Không phân biệt chữ hoa chữ thường (MON, mon, Mon đều được)
- Không phải tất cả cron implementation đều hỗ trợ tên
- Số tương thích hơn và được hỗ trợ rộng rãi
- Công cụ này hiển thị cả hai định dạng
Để tương thích tối đa, dùng số. Để dễ đọc, dùng tên.
Các lỗi cron expression phổ biến?
Các lỗi phổ biến và cách tránh:
1. Sai thứ tự trường:
✗ `* * 9 * *` - Đây là ngày 9 của tháng, không phải 9 sáng
✓ `0 9 * * *` - Đúng: 9 sáng mỗi ngày
2. Quên trường phút:
✗ `9 * * *` - Không hợp lệ (thiếu phút)
✓ `0 9 * * *` - Đúng (phút phải đứng đầu)
3. Dùng 24 cho nửa đêm:
✗ `0 24 * * *` - Không hợp lệ (giờ từ 0-23)
✓ `0 0 * * *` - Đúng (nửa đêm là 0)
4. Cả ngày-trong-tháng và ngày-trong-tuần:
✗ `0 9 15 * 1` - Chạy ngày 15 VÀ mỗi thứ Hai (logic OR)
✓ `0 9 15 * *` hoặc `0 9 * * 1` - Chọn một
5. Sai cú pháp bước nhảy:
✗ `15/ * * * *` - Cú pháp không hợp lệ
✓ `*/15 * * * *` - Đúng mỗi 15 phút
6. Dùng ? trong Unix cron:
✗ `0 9 ? * 1` - ? chỉ dành cho Quartz
✓ `0 9 * * 1` - Dùng * trong Unix cron
Công cụ này ngăn các lỗi này với kiểm tra và gợi ý hữu ích!
Tính năng chính
- Trình tạo cron expression trực quan với điều khiển dễ dùng
- Hỗ trợ định dạng Unix/Linux (5 trường) và Quartz (6-7 trường)
- Mô tả dễ hiểu của cron expression
- Xem trước 5-10 thời gian chạy được lên lịch tiếp theo
- Kiểm tra và phát hiện lỗi theo thời gian thực
- Ví dụ biểu thức phổ biến và mẫu
- Sao chép biểu thức vào clipboard chỉ với một cú nhấp
- Hỗ trợ các ký tự đặc biệt: * , - / ?
- Hỗ trợ tên tháng và ngày (JAN-DEC, SUN-SAT)
- Giá trị bước nhảy và khoảng
- 100% phía client - không gửi dữ liệu đến server
- Hoạt động offline sau khi tải lần đầu
- Thiết kế responsive thân thiện với mobile
- Hỗ trợ chế độ tối