0 9 * * *Hướng dẫn công cụ
Về Công cụ tạo biểu thức Cron
Công cụ tạo cron dựng nên một biểu thức crontab 5 trường tiêu chuẩn từ những lựa chọn đơn giản, nhờ đó bạn lên lịch cho một tác vụ mà không cần thuộc lòng thứ tự các trường.
Nó bao phủ định dạng cổ điển mà Linux cron, Kubernetes CronJob và phần lớn bộ lập lịch CI đang dùng: phút, giờ, ngày trong tháng, tháng, ngày trong tuần. Không có trường giây, nên các biểu thức 6 hoặc 7 trường kiểu Quartz nằm ngoài phạm vi.
Cách dùng Cron Expression Generator
- Bắt đầu từ một mẫu có sẵn như mỗi 5 phút, mỗi giờ, hằng ngày lúc nửa đêm, các ngày trong tuần lúc 09:00, hoặc hằng tháng vào ngày mùng 1. Mẫu sẽ điền sẵn các ô điều khiển trường bên dưới để bạn tiếp tục tinh chỉnh.
- Điều chỉnh từng trường bằng một trong năm chế độ: Every cho dấu sao đơn thuần, Every N cho bước nhảy như */15, Range cho một khoảng như 9-17, List cho các giá trị như 1,15,30, và Exact cho một con số duy nhất.
- Đọc biểu thức khi nó cập nhật trực tiếp, rồi chép vào crontab, file cấu hình CI hoặc manifest CronJob của bạn.
- Kiểm tra 6 mốc chạy kế tiếp hiển thị bên dưới. Bản xem trước đó là cách nhanh nhất để phát hiện một giá trị bị đặt nhầm trường.
Khi nào bạn cần dùng
- Lên lịch sao lưu cơ sở dữ liệu hằng đêm sao cho kết thúc trước khi giờ làm việc bắt đầu.
- Xoay vòng hoặc lưu trữ log theo nhịp cố định hằng tuần hoặc hằng tháng.
- Làm nóng bộ nhớ đệm hoặc dựng lại chỉ mục tìm kiếm trước giờ cao điểm truy cập trong ngày.
- Gửi báo cáo vào mỗi sáng thứ Hai, hoặc vào ngày đầu tiên của mỗi tháng để phục vụ việc tính cước.
- Kích hoạt một lượt build CI hằng đêm và một lượt kiểm tra gia hạn chứng chỉ định kỳ.
Những quy tắc cú pháp cron gây ra nhiều sai sót nhất
Năm trường lần lượt là phút, giờ, ngày trong tháng, tháng và ngày trong tuần, theo đúng thứ tự đó. Phần lớn lịch chạy sai bắt nguồn từ một vài quy tắc ngữ nghĩa rất dễ đọc nhầm.
- Khi ngày trong tháng và ngày trong tuần cùng được đặt khác dấu sao, cron kết hợp chúng bằng quan hệ OR chứ không phải AND. Vì vậy 0 0 13 * FRI nghĩa là ngày 13 hằng tháng hoặc mọi thứ Sáu, chứ không phải chỉ riêng thứ Sáu ngày 13.
- Một bước nhảy như */15 bắt đầu từ 0 và lặp lại mỗi 15 đơn vị, cho ra 0, 15, 30, 45. Một bước nhảy viết là 5/15 bắt đầu từ 5 và chạy tới giá trị lớn nhất, cho ra 5, 20, 35, 50.
- Trong trường ngày trong tuần, cả 0 lẫn 7 đều nghĩa là Chủ nhật, nên cùng một lịch có thể viết theo hai cách.
- Trường tháng và ngày trong tuần chấp nhận tên viết tắt ba chữ cái như JAN đến DEC và MON đến SUN.
- Cron chạy theo múi giờ cục bộ của máy đang giữ lịch, nên hãy xác nhận múi giờ đó trước khi triển khai. Các mốc chuyển giờ mùa hè có thể làm mất hoặc lặp lại một khung giờ.
Câu hỏi thường gặp về Tạo lệnh Cron
- Công cụ này có hỗ trợ trường giây không?
- Không. Nó chỉ sinh ra định dạng crontab 5 trường tiêu chuẩn. Quartz và một số bộ lập lịch Java dùng 6 hoặc 7 trường với giây và một trường năm tùy chọn, những dạng đó không được sinh ra ở đây.
- Vì sao lịch kết hợp ngày trong tháng và ngày trong tuần của tôi lại chạy thường xuyên hơn dự kiến?
- Bởi vì cron xử lý hai trường đó theo quan hệ OR khi không trường nào là dấu sao. Nếu cần điều kiện AND chặt chẽ, hãy lên lịch cron rộng hơn rồi thêm một bước kiểm tra ngày bên trong tác vụ.
- Chạy một tác vụ mỗi phút có an toàn không?
- Chỉ an toàn nếu mỗi lượt chạy kết thúc gọn trong vòng chưa tới một phút. Nếu không, các lượt chạy sẽ chồng lên nhau và dồn ứ, nên hãy thêm một file khóa hoặc cơ chế chỉ cho phép một tiến trình, hoặc dùng khoảng cách dài hơn.
- Các mốc chạy kế tiếp dùng múi giờ nào?
- Bản xem trước dùng múi giờ trình duyệt của bạn. Máy thực thi lịch lại dùng múi giờ riêng của nó, nên hãy xác minh hai bên khớp nhau trước khi tin vào một giờ chính xác.
- Lịch của tôi có được tải lên đâu không?
- Không. Mọi biểu thức trên wetool.site đều được dựng và xem trước hoàn toàn trong trình duyệt của bạn, và không có gì bạn nhập vào bị gửi tới máy chủ.
Công cụ tạo cron so với công cụ phân tích cron
Công cụ phân tích cron trên trang này giải quyết bài toán ngược lại: bạn đã có sẵn một biểu thức và muốn biết nó nghĩa là gì cùng thời điểm chạy kế tiếp. Công cụ tạo cron đi theo chiều còn lại, biến một lịch mà bạn có thể mô tả bằng lời thành cú pháp chính xác. Hai bên bổ trợ cho nhau, nên sau khi tạo xong một biểu thức bạn có thể dán nó vào bộ phân tích như một lượt kiểm tra độc lập thứ hai.
Những việc cần kiểm tra trước khi triển khai một lịch chạy
Một biểu thức trông có vẻ đúng vẫn có thể chạy sai thời điểm trên máy chủ thật. Một lượt rà soát ngắn sẽ bắt được phần lớn các trường hợp đó.
- Đối chiếu 6 mốc chạy kế tiếp với ý định của bạn, đặc biệt là mốc đầu tiên, vì nó bộc lộ ngay lỗi lệch một trường.
- Xác nhận múi giờ của máy hoặc container thực thi, và ưu tiên UTC cho các hệ thống trải rộng nhiều khu vực.
- Rải các tác vụ nặng ra những phút khác nhau thay vì dồn tất cả vào phút 0.
- Quyết định điều gì nên xảy ra nếu một lượt chạy bị bỏ lỡ trong lúc máy chủ ngừng hoạt động, vì cron tiêu chuẩn không chạy bù cho các lượt đã bỏ qua.