Chuyển đổi miễn phí

Biểu thức Cron Máy phát điện

Tạo, giải thích và xác thực các biểu thức cron ngay lập tức trong trình duyệt của bạn. Trình tạo trực quan và trình phân tích cú pháp biểu thức - miễn phí, riêng tư và phía máy khách.

Biểu thức Cron
0 */6 * * *
Mô tả con người có thể đọc được
Every minute
5 lần chạy theo lịch trình tiếp theo
Calculating...

Về công cụ này

Biểu thức cron là năm (hoặc sáu, tùy thuộc vào hệ thống) các trường được phân tách bằng dấu cách để mô tả lịch trình: phút, giờ, ngày trong tháng, tháng và ngày trong tuần. Mỗi trường chấp nhận các giá trị số, phạm vi, danh sách, số gia và ký tự đại diện. Cron trên thực tế là định dạng lập lịch Unix kể từ cuối những năm 1970 và hiện được sử dụng vượt xa Unix — bởi Kubernetes CronJobs, GitHub Actions, quy tắc AWS EventBridge, công việc Jenkins và hầu hết mọi hệ thống lập lịch khác trong sản xuất.

Đọc và viết biểu thức cron bằng tay rất dễ xảy ra lỗi. Các trường có tính vị trí, sự tương tác giữa ngày trong tháng và ngày trong tuần là không rõ ràng (giá trị trong một trong hai trường sẽ kích hoạt công việc chứ không phải cả hai) và những sai lầm âm thầm tạo ra các lịch trình trông có vẻ đúng nhưng lại xảy ra không đúng lúc. Một trình tạo dịch các lịch trình bằng tiếng Anh đơn giản thành cú pháp cron chính xác sẽ tránh được những lỗi này.

Công cụ này cung cấp hai hướng: xây dựng biểu thức cron từ một biểu mẫu thân thiện (thứ Hai hàng tuần lúc 9 giờ sáng, cứ 5 phút một lần trong giờ làm việc) và giải thích biểu thức cron hiện có theo thuật ngữ của con người. Cả hai đều chạy trong trình duyệt của bạn mà không có bất kỳ tương tác nào với máy chủ.

Tại sao nên sử dụng Trình tạo Cron

Cú pháp Cron dày đặc và không thể tha thứ. Các lỗi phổ biến bao gồm việc đánh số ngày trong tuần khó hiểu (Chủ nhật là 0 hoặc 7 tùy theo hệ thống), quên sử dụng ngữ nghĩa OR của ngày trong tháng và ngày trong tuần và hiểu sai cú pháp tăng dần (*/5 có nghĩa là cứ 5 thì bắt đầu từ 0). Trình tạo sẽ bắt những thứ này bằng cách xây dựng - các biểu thức được tạo ra khớp với những gì bạn mô tả trong biểu mẫu.

Đọc các biểu thức hiện có cũng khó không kém. Một lịch trình như 0 9 * * 1-5 sẽ đọc vào lúc 9 giờ sáng các ngày trong tuần khi bạn biết cú pháp, nhưng bất kỳ ai không quen với cron đều phải tra cứu từng trường. Giải thích biểu thức theo thuật ngữ của con người nhanh hơn việc học cú pháp cho các tương tác một lần.

Cách sử dụng

Chọn một mẫu lịch trình, lấy biểu thức cron.

  1. Chọn chế độ tạo: Xây dựng biểu thức cron từ dữ liệu đầu vào của biểu mẫu (tần suất, thời gian, ngày) hoặc giải thích biểu thức hiện có theo thuật ngữ của con người.
  2. Cấu hình lịch trình: Chọn tần suất (mỗi phút, mỗi giờ, mỗi ngày, mỗi tuần, mỗi tháng, tùy chỉnh). Chỉ định thời gian, ngày và khoảng thời gian nếu cần. Biểu mẫu hạn chế đầu vào thành các kết hợp hợp lệ.
  3. Tạo hoặc giải thích: Thế hệ tạo ra cú pháp cron tiêu chuẩn (5 trường). Phần giải thích chia nhỏ từng trường và đưa ra bản tóm tắt mà con người có thể đọc được.
  4. Sử dụng trong lịch trình của bạn: Dán biểu thức đã tạo vào thông số Kubernetes CronJob, lịch trình Hành động GitHub, AWS EventBridge hoặc bộ lập lịch của nền tảng của bạn.

Các trường hợp sử dụng phổ biến

Chi tiết kỹ thuật

Cron tiêu chuẩn có năm trường: phút (0–59), giờ (0–23), ngày trong tháng (1–31), tháng (1–12), ngày trong tuần (0–6 hoặc 0–7, cả Chủ nhật). Mỗi trường chấp nhận một giá trị duy nhất, danh sách được phân tách bằng dấu phẩy, phạm vi có dấu gạch nối, tăng dần bằng / hoặc ký tự đại diện có *.

Sử dụng ngữ nghĩa ngày trong tháng và ngày trong tuần HOẶC: nếu một trong hai giá trị được đặt thành giá trị không phải ký tự đại diện thì công việc sẽ chạy khi một trong hai giá trị khớp. Điều này phản trực giác nhưng phù hợp với hành vi cron POSIX. Việc đặt cả hai trường sẽ tạo ra một lịch trình rộng hơn chứ không phải một lịch trình hẹp hơn.

Các phần mở rộng khác nhau tùy theo cách triển khai. Một số chấp nhận trường thứ sáu trong vài giây (Quartz, Spring); một số chấp nhận? như một sự thay thế ký tự đại diện; một số bao gồm các phím tắt @yearly, @monthly, @daily. Trình tạo tạo ra cron 5 trường tiêu chuẩn phù hợp với hầu hết các hệ thống.

Thực tiễn tốt nhất

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

Định dạng biểu thức cron là gì?
Cron tiêu chuẩn sử dụng 5 trường: phút (0-59), giờ (0-23), ngày trong tháng (1-31), tháng (1-12), ngày trong tuần (0-7, trong đó 0 và 7 là Chủ nhật). Ký tự đặc biệt: * (bất kỳ), , (danh sách), - (phạm vi), / (bước).
Làm cách nào để thiết lập một công việc chạy 5 phút một lần?
Sử dụng */5 trong trường phút: '*/5 * * * *'. /5 có nghĩa là 'mọi giá trị thứ 5'. Tương tự, */15 = cứ sau 15 phút, */2 = cứ sau 2 phút.
Cron sử dụng múi giờ nào?
Cron thường sử dụng múi giờ của hệ thống. Trên máy chủ Linux, đây thường là UTC trừ khi được định cấu hình khác. Các dịch vụ đám mây (AWS, GCP) thường được mặc định là UTC. Luôn kiểm tra cài đặt múi giờ của hệ thống.
Đây có phải là định dạng tương tự được GitHub Actions sử dụng không?
Tác vụ GitHub sử dụng cùng định dạng 5 trường nhưng chạy theo múi giờ UTC. AWS CloudWatch và Kubernetes CronJobs cũng sử dụng định dạng này. Một số hệ thống như Quartz sử dụng định dạng trường mở rộng 6-7 tính bằng giây.
Sự khác biệt giữa 0 trong ngày trong tuần và 7 là gì?
Cả hai đều có nghĩa là Chủ nhật. Cron POSIX chấp nhận 0–6 hoặc 0–7. Sử dụng bất cứ điều gì triển khai cron cụ thể của bạn thích; hầu hết chấp nhận cả hai.
Trình giải thích có chính xác cho cron không chuẩn không?
Nó nhắm mục tiêu cron 5 trường tiêu chuẩn. Tiện ích mở rộng thạch anh (có giây), biến thể AWS EventBridge và các phương ngữ khác có thể không phân tích cú pháp chính xác. Xác nhận dựa trên tài liệu của hệ thống đích.
Biểu thức của tôi có được gửi đến máy chủ không?
Không. Việc tạo và giải thích diễn ra trong trình duyệt của bạn.
Còn các phím tắt @yearly, @monthly thì sao?
Việc triển khai cron phổ biến hỗ trợ @yearly, @monthly, @weekly, @daily, @hourly và @reboot dưới dạng lối tắt cho các lịch trình chung. Trình tạo tạo ra các biểu thức 5 trường tiêu chuẩn; bạn có thể thay thế các phím tắt theo cách thủ công nếu bộ lập lịch của bạn chấp nhận chúng.