Trình tạo & giải thích Cron Expression

Tạo lịch crontab mà không cần nhớ cú pháp. Hoặc dán một biểu thức có sẵn để xem ý nghĩa bằng tiếng Việt dễ hiểu và thời điểm chạy tiếp theo chính xác.

Cập nhật

Mỗi 15 phút, từ 09:00 đến 17:59, từ thứ Hai đến thứ Sáu

Lịch phổ biến

Tạo lịch

Vào

Lần chạy tiếp theo

    Chỉnh sửa trường

    0–59
    0–23
    1–31, L
    1–12, JAN–DEC
    0–6, SUN–SAT

    Cú pháp: * bất kỳ · 5 giá trị · 1-5 khoảng · 1,15 danh sách · */10 bước · 8-18/2 khoảng có bước · macro @hourly @daily @weekly @monthly @yearly.

    Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

    Công cụ này có hữu ích không?0.0 0 lượt đánh giá
    Tạo file systemd .service để chạy NodePython, Go hoặc ứng dụng bất kỳ như dịch vụ: restart, user, biến môi trường, sandbox và .timer tùy chọn.Trình tạo systemd Service →

    Cách dùng Trình tạo Cron Expression

    1. Chọn một lịch phổ biến, hoặc dùng Tạo lịch để chọn tần suất, các ngày trong tuần và giờ, rồi nhấn Dùng lịch này.
    2. Hoặc dán một biểu thức có sẵn, ví dụ 30 2 * * 1, vào ô Cron expression. Phần mô tả bằng tiếng Việt sẽ cập nhật ngay khi bạn gõ.
    3. Tinh chỉnh từng phần trong Chỉnh sửa trường (phút, giờ, ngày trong tháng, tháng, thứ trong tuần).
    4. Kiểm tra danh sách Lần chạy tiếp theo theo giờ địa phương hoặc UTC, rồi sao chép biểu thức vào crontab, quy trình CI hoặc bộ lập lịch của bạn.

    Cron expression là gì?

    Cron expression là một lịch trình ngắn gọn gồm năm trường, cách nhau bằng dấu cách, cho daemon cron của Unix biết khi nào cần chạy một tác vụ. Cú pháp này cũng được dùng bởi các công cụ khác như GitHub Actions, GitLab CI, Kubernetes CronJobs, Vercel và nhiều hàng đợi tác vụ. Công cụ này cho phép bạn tạo biểu thức bằng menu chọn sẵn, giải thích mọi biểu thức bằng tiếng Việt dễ hiểu nhờ thư viện mã nguồn mở cRonstrue, và tính các lần chạy sắp tới để bạn kiểm tra lịch trước khi đưa vào hoạt động.

    Năm trường

    ┌──────── minute (0–59)
    │ ┌────── hour (0–23)
    │ │ ┌──── day of month (1–31)
    │ │ │ ┌── month (1–12, JAN–DEC)
    │ │ │ │ ┌ day of week (0–6, SUN–SAT)
    │ │ │ │ │
    * * * * *  command

    Ở trường thứ trong tuần, số 7 cũng có nghĩa là Chủ nhật.

    Mỗi trường chấp nhận * (mọi giá trị), một số đơn, một khoảng 1-5, một danh sách 1,15,30, một bước */10 hoặc một khoảng có bước 9-17/2. Một số bộ lập lịch (Quartz, Spring, AWS EventBridge) thêm trường giây ở đầu. Hãy chọn “Trường giây” để làm việc với biểu thức 6 phần.

    Ví dụ

    Biểu thứcÝ nghĩa
    */5 * * * *Mỗi 5 phút
    0 * * * *Vào đầu mỗi giờ
    30 2 * * *Mỗi ngày lúc 02:30
    0 9 * * 1-509:00 các ngày trong tuần
    0 0 1 * *Nửa đêm ngày 1 hàng tháng
    0 0 1 */3 *Nửa đêm ngày đầu tiên của mỗi quý
    15 14 1 * *14:15 ngày 1 hàng tháng

    Những lỗi thường gặp

    • Cả ngày trong tháng và thứ trong tuần. Nếu cả hai trường đều bị giới hạn, cron kiểu cũ sẽ chạy tác vụ khi một trong hai điều kiện khớp. 0 0 13 * 5 có nghĩa là “ngày 13 và mọi thứ Sáu”, không phải “thứ Sáu ngày 13”. Danh sách lần chạy tiếp theo cũng tuân theo quy tắc này.
    • Quên trường phút. * 9 * * * sẽ chạy 60 lần từ 09:00 đến 09:59. Dùng 0 9 * * * để chỉ chạy một lần.
    • Múi giờ. Cron dùng múi giờ của máy chủ, còn GitHub Actions và hầu hết bộ lập lịch đám mây dùng UTC. Hãy chuyển danh sách sang UTC để so sánh.
    • Bước không đều. */45 ở trường phút sẽ chạy lúc :00 và :45, rồi lại :00. Bước được tính lại mỗi giờ, không kéo sang giờ sau.
    • Số ngày của Quartz. Quartz tính Chủ nhật là 1, trong khi cron Unix dùng 0 (hoặc 7). Công cụ này dùng cách đánh số của Unix.

    Phần mở rộng không chuẩn

    L ở trường ngày trong tháng (ngày cuối cùng của tháng), 5L (thứ Sáu cuối cùng) và 1#2 (thứ Hai thứ hai) được Quartz và một số triển khai cron hỗ trợ, nhưng Vixie cron trên Linux thì không. Công cụ này vẫn giải thích và xem trước các cú pháp đó, nhưng bạn nên kiểm tra xem bộ lập lịch của mình có chấp nhận hay không. Cần chuyển thời điểm chạy sang giá trị epoch? Hãy thử Unix Timestamp Converter hoặc Time Zone Converter.

    Cũng được tìm dưới tên: tạo biểu thức cron, cron generator, giải thích cron, cú pháp cron, crontab guru, lịch cron, cron job, trình phân tích cron.

    Các công cụ dùng kèm tốt với Trình tạo Cron Expression

    • Trình tạo systemd Service — Chạy ứng dụng của bạn như một dịch vụ Linux đúng chuẩn, tự khởi động cùng hệ thống và tự restart khi bị crash.
    • Máy tính khoảng cách ngày — Đếm số ngày giữa hai ngày, bao gồm ngày làm việc và bảng chia theo năm/tháng/ngày.
    • Kiểm tra Regex — Nhập mẫu và xem các kết quả khớp được tô sáng ngay trong văn bản thử nghiệm.
    • Định dạng HTML — Dán mã HTML đã nén hoặc lộn xộn và nhận lại HTML được thụt lề rõ ràng, nhất quán — bao gồm cả các khối <style> và <script> nhúng bên trong.

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

    */15 trong cron nghĩa là gì?
    Dấu gạch chéo là bước nhảy: */15 ở trường phút nghĩa là mỗi 15 phút, bắt đầu từ 0, tức là :00, :15, :30 và :45. 5-50/15 sẽ cho :05, :20, :35 và :50.
    Làm sao để chạy cron job mỗi 30 giây?
    Cron 5 trường chuẩn không thể chạy nhanh hơn một phút. Hãy dùng bộ lập lịch 6 trường hỗ trợ giây (*/30 * * * * *), hoặc thêm hai dòng crontab, trong đó dòng thứ hai bắt đầu bằng sleep 30;.
    Thời gian của cron là UTC hay giờ địa phương?
    Cron kiểu cũ dùng múi giờ hệ thống của máy chủ (một số phiên bản hỗ trợ biến CRON_TZ). GitHub Actions, Kubernetes (mặc định) và hầu hết bộ lập lịch đám mây tính biểu thức theo UTC. Danh sách lần chạy ở đây có thể hiển thị theo cả hai cách.
    Sự khác nhau giữa @daily và 0 0 * * * là gì?
    Không có khác biệt. @daily (hoặc @midnight) là cách viết tắt của 0 0 * * *. Tương tự, @hourly = 0 * * * *, @weekly = 0 0 * * 0, @monthly = 0 0 1 * * và @yearly = 0 0 1 1 *.
    Làm sao để lên lịch tác vụ vào ngày cuối cùng của tháng?
    Cron Unix thông thường không có giá trị “ngày cuối tháng”. Bạn có thể dùng L nếu bộ lập lịch hỗ trợ (0 0 L * *), hoặc chạy hằng ngày từ ngày 28 đến 31 rồi kiểm tra ngày trong lệnh: 0 0 28-31 * * [ "$(date -d tomorrow +\%d)" = "01" ] && ./job.sh.
    Tại sao biểu thức của tôi không bao giờ chạy?
    Các ngày không tồn tại như 0 0 31 2 * (31 tháng 2) hoặc 0 0 31 4 * (31 tháng 4) sẽ không bao giờ khớp. Danh sách lần chạy tiếp theo sẽ hiển thị cảnh báo khi không tìm thấy lần chạy nào trong mười năm tới.
    Tôi có thể cài Trình tạo Cron Expression như một ứng dụng web và dùng khi không có mạng không?
    Có. Trình tạo Cron Expression là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

    Công cụ liên quan