Tan Phat Media

Cron Parser - Giải Thích Cron Online

Giải thích và tạo cron expression dễ dàng

Cron Expression
Giải thích
Chạy vào 9:00, Thứ 2 đến Thứ 6
Phút
0
0
Giờ
9
9
Ngày
*
mỗi ngày
Tháng
*
mỗi tháng
Thứ
1-5
Thứ 2 đến Thứ 6
Cú pháp Cron

┌───────────── 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, 0 = CN)

│ │ │ │ │

* * * * *

Hợp tác ngay với Tấn Phát Digital

Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.

Đọc biểu thức cron: năm trường, quy tắc dễ nhầm và bẫy múi giờ

Công cụ phân tích biểu thức cron năm trường và diễn giải thành một câu tiếng Việt, đồng thời tách riêng ý nghĩa của từng trường phút, giờ, ngày, tháng và thứ. Kèm theo mười lịch dựng sẵn hay dùng và một sơ đồ cú pháp để bạn đối chiếu vị trí các trường khi tự viết.

Tính năng nổi bật

  • Diễn giải biểu thức năm trường thành một câu mô tả bằng tiếng Việt, cập nhật ngay khi bạn gõ
  • Tách bảng năm ô hiển thị giá trị gốc và ý nghĩa riêng của từng trường
  • Hiểu ký tự sao đại diện mọi giá trị, dấu gạch chéo cho bước nhảy, dấu gạch nối cho khoảng và dấu phẩy cho danh sách
  • Đổi số thứ trong tuần thành tên tiếng Việt, với số 0 là chủ nhật
  • Đổi số tháng thành tên tháng tiếng Việt trong phần diễn giải
  • Mười lịch dựng sẵn từ mỗi phút, mỗi năm phút, mỗi giờ cho tới lịch giờ hành chính từ thứ hai đến thứ sáu
  • Sơ đồ cú pháp hiển thị thứ tự và khoảng giá trị hợp lệ của cả năm trường
  • Nút sao chép biểu thức để dán thẳng vào tệp cấu hình lịch chạy

Năm con số quyết định lúc nào công việc chạy

Biểu thức cron là một trong những cú pháp cô đọng nhất mà lập trình viên phải làm việc hằng ngày, và cũng là loại cấu hình ít được kiểm thử nhất. Bạn viết một dòng, đẩy lên máy chủ, rồi phải chờ tới lúc nó đáng lẽ chạy mới biết mình viết đúng hay sai. Nếu sai, hậu quả không lộ ra ngay: bản sao lưu tưởng chạy hằng đêm hóa ra chỉ chạy vào ngày mùng một, thư nhắc nhở gửi cho khách vào ba giờ sáng, hoặc một tác vụ nặng đáng lẽ chạy mỗi giờ lại chạy mỗi phút và làm máy chủ quá tải. Đọc lại bằng mắt không giúp được nhiều vì bộ não không quen với cú pháp vị trí; đổi chỗ trường giờ với trường phút là lỗi ai cũng từng mắc. Diễn giải ra thành câu tiếng Việt biến việc kiểm tra thành một thao tác vài giây, và giúp bạn phát hiện được ngay khi ý định trong đầu không khớp với thứ mình vừa gõ.

Lợi ích khi sử dụng

  • Kiểm tra biểu thức ngay lúc viết thay vì chờ tới giờ chạy mới biết đúng sai
  • Bảng tách năm trường giúp phát hiện lỗi đặt nhầm vị trí, lỗi phổ biến nhất khi viết cron
  • Mười lịch dựng sẵn bao phủ phần lớn nhu cầu thường gặp nên hiếm khi phải viết từ con số không
  • Câu diễn giải bằng tiếng Việt tiện để dán vào chú thích trong tệp cấu hình cho đồng nghiệp đọc
  • Chạy trong trình duyệt, không cần cài đặt và không gửi cấu hình của bạn đi đâu

Cách đọc một biểu thức cron

  1. 1Dán biểu thức vào ô nhập, nhớ rằng công cụ chỉ nhận đúng năm trường ngăn nhau bằng dấu cách.
  2. 2Đọc câu diễn giải hiện ngay bên dưới và tự hỏi nó có khớp với ý định ban đầu của bạn hay không.
  3. 3Nhìn bảng năm ô để kiểm tra từng trường một, đây là cách phát hiện nhanh khi bạn đặt nhầm giá trị vào sai vị trí.
  4. 4Nếu chưa quen cú pháp, bấm một trong mười lịch dựng sẵn rồi sửa dần từ đó thay vì gõ từ đầu.
  5. 5Đối chiếu thêm với sơ đồ cú pháp ở cuối trang để chắc chắn giá trị bạn dùng nằm trong khoảng cho phép của trường đó.

Năm trường và khoảng giá trị của từng trường

Thứ tự các trường từ trái sang phải là phút, giờ, ngày trong tháng, tháng, rồi thứ trong tuần. Phút nhận giá trị từ 0 tới 59, giờ từ 0 tới 23 theo đồng hồ hai mươi bốn giờ, ngày trong tháng từ 1 tới 31, tháng từ 1 tới 12, và thứ trong tuần từ 0 tới 6 với 0 là chủ nhật. Nhiều bản cài đặt còn chấp nhận số 7 cũng là chủ nhật, và chấp nhận tên viết tắt ba chữ cái tiếng Anh cho tháng và thứ, nhưng tốt nhất nên dùng số để tránh khác biệt giữa các hệ thống. Bốn ký tự đặc biệt cần nhớ: dấu sao nghĩa là mọi giá trị của trường đó; dấu phẩy dùng để liệt kê các giá trị rời rạc như 0,15,30,45; dấu gạch nối tạo một khoảng liên tục như 1-5; dấu gạch chéo đặt bước nhảy như */15 nghĩa là cứ mười lăm đơn vị một lần. Có thể kết hợp, chẳng hạn 9-17/2 ở trường giờ nghĩa là các giờ 9, 11, 13, 15 và 17. Điểm dễ quên nhất là giá trị 0 ở trường giờ tương ứng nửa đêm chứ không phải mười hai giờ trưa.

Quy tắc hoặc giữa ngày trong tháng và thứ trong tuần

Đây là điểm gây bất ngờ nhiều nhất và cũng là nguồn lỗi âm thầm nhất. Bốn trường phút, giờ, tháng và một trong hai trường ngày kết hợp với nhau theo kiểu và, tức phải thỏa mãn đồng thời. Nhưng riêng hai trường ngày trong tháng và thứ trong tuần lại kết hợp theo kiểu hoặc khi cả hai đều được đặt giá trị cụ thể. Nghĩa là một biểu thức vừa đặt ngày là mùng một vừa đặt thứ là thứ hai sẽ không chỉ chạy khi mùng một rơi đúng vào thứ hai, mà chạy vào mọi ngày mùng một và thêm mọi thứ hai trong tháng, tổng cộng khoảng năm lần một tháng thay vì một lần. Rất nhiều người viết biểu thức kiểu này với ý định thu hẹp phạm vi, rồi ngạc nhiên khi tác vụ chạy nhiều hơn dự kiến gấp mấy lần. Quy tắc an toàn là chỉ đặt giá trị cụ thể cho một trong hai trường ngày và luôn để trường còn lại là dấu sao. Nếu bạn thật sự cần điều kiện và, chẳng hạn chỉ chạy vào thứ sáu ngày mười ba, hãy đặt lịch theo thứ rồi kiểm tra ngày bằng chính đoạn mã của tác vụ.

Bẫy bước nhảy không chia hết cho chu kỳ

Ký hiệu bước nhảy chỉ hoạt động trong phạm vi của trường chứ không chạy liên tục qua ranh giới. Điều này vô hại khi bước nhảy chia hết cho độ dài chu kỳ: */5 ở trường phút cho ra các phút 0, 5, 10 cho tới 55, rồi vòng sang giờ mới lại bắt đầu từ 0, khoảng cách luôn đúng năm phút. Nhưng */7 ở trường phút cho ra 0, 7, 14, 21, 28, 35, 42, 49, 56, rồi sang giờ mới lại nhảy về 0, tức khoảng cách giữa lần cuối của giờ này và lần đầu của giờ sau chỉ có bốn phút. Tương tự */5 ở trường giờ cho ra 0, 5, 10, 15, 20 rồi sang ngày mới quay về 0, khoảng cách cuối cùng chỉ bốn giờ. Nếu tác vụ của bạn nhạy cảm với khoảng cách đều, hãy chọn bước nhảy là ước của 60 cho phút và ước của 24 cho giờ, tức các số 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 cho phút và 1, 2, 3, 4, 6, 8, 12 cho giờ. Nếu cần chu kỳ khác, hãy liệt kê tường minh bằng dấu phẩy để kiểm soát chính xác.

Múi giờ, chỗ sai lặng lẽ nhất khi triển khai

Biểu thức cron không mang thông tin múi giờ, nó chỉ là những con số và được diễn giải theo múi giờ của môi trường đang chạy. Với người dùng ở Việt Nam, đây là nguồn lỗi rất phổ biến vì đa số máy chủ trong bộ chứa và đa số nền tảng chạy tác vụ theo lịch đều mặc định giờ phối hợp quốc tế. Việt Nam nhanh hơn bảy giờ so với mốc đó, nên một lịch đặt giờ là 9 trên hệ thống chạy theo giờ quốc tế sẽ nổ vào bốn giờ chiều theo giờ Việt Nam, chứ không phải chín giờ sáng như bạn nghĩ. Muốn chạy chín giờ sáng giờ Việt Nam thì phải đặt giờ là 2. Nguy hiểm hơn, những lịch chạy trong khung nửa đêm còn bị đẩy sang ngày khác: lịch một giờ sáng thứ hai theo giờ quốc tế rơi vào tám giờ sáng thứ hai giờ Việt Nam, nhưng lịch tám giờ tối thứ hai lại rơi vào ba giờ sáng thứ ba. Trước khi đặt bất kỳ lịch nào, hãy kiểm tra múi giờ thực tế của môi trường, và nếu hệ thống cho phép khai báo múi giờ kèm lịch thì nên khai báo tường minh thay vì tự cộng trừ trong đầu.

Những gì công cụ này không làm và bạn cần biết thêm

Nói rõ giới hạn để bạn không hiểu nhầm kết quả. Công cụ chỉ nhận đúng năm trường: nếu bạn dán biểu thức sáu trường có thêm phần giây, thứ dùng trong một số bộ lập lịch của Java và của các nền tảng đám mây, thì phần diễn giải sẽ không hiện ra. Nó cũng không hiểu các bí danh viết tắt bắt đầu bằng dấu a còng như bí danh chạy hằng ngày hay chạy khi khởi động lại máy, và không hiểu các ký tự mở rộng như dấu hỏi, chữ L chỉ ngày cuối hay dấu thăng chỉ lần thứ mấy trong tháng. Quan trọng hơn, công cụ không kiểm tra giá trị có nằm trong khoảng hợp lệ hay không, nên gõ 70 vào trường phút vẫn cho ra một câu diễn giải trông bình thường trong khi hệ thống thật sẽ từ chối dòng cấu hình đó. Cuối cùng, công cụ không tính và không hiển thị các mốc chạy kế tiếp; nếu bạn cần biết chính xác lần chạy tới rơi vào lúc nào, hãy dùng công cụ chuyên tính lịch hoặc chạy thử trên môi trường tạm.

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

Năm trường trong biểu thức cron lần lượt là gì?

Từ trái sang phải là phút, giờ, ngày trong tháng, tháng, rồi thứ trong tuần. Phút nhận từ 0 tới 59, giờ từ 0 tới 23, ngày từ 1 tới 31, tháng từ 1 tới 12, thứ từ 0 tới 6 với 0 là chủ nhật. Lỗi phổ biến nhất là đảo chỗ hai trường đầu, khiến tác vụ chạy sai hoàn toàn về thời điểm.

Vì sao đặt cả ngày trong tháng lẫn thứ mà tác vụ chạy nhiều hơn dự kiến?

Vì hai trường đó kết hợp theo kiểu hoặc chứ không phải và, khi cả hai đều có giá trị cụ thể. Biểu thức chỉ định ngày mùng một và thứ hai sẽ chạy vào mọi ngày mùng một cộng thêm mọi thứ hai trong tháng. Quy tắc an toàn là chỉ đặt giá trị cho một trong hai trường và để trường còn lại là dấu sao.

Ký hiệu dấu gạch chéo nghĩa là gì?

Đó là bước nhảy trong phạm vi của trường. Viết dấu sao rồi dấu gạch chéo rồi số 15 ở trường phút nghĩa là chạy vào các phút 0, 15, 30 và 45. Bạn cũng có thể giới hạn phạm vi trước rồi mới đặt bước nhảy, chẳng hạn khoảng 9 đến 17 với bước 2 ở trường giờ cho ra các giờ 9, 11, 13, 15 và 17.

Vì sao bước nhảy 7 phút lại cho khoảng cách không đều?

Vì bước nhảy chỉ chạy trong phạm vi của trường rồi bắt đầu lại ở chu kỳ sau. Bảy phút một lần cho ra tới phút 56 rồi vòng sang giờ mới lại về 0, nên khoảng cách cuối chỉ bốn phút. Muốn khoảng cách luôn đều, hãy chọn bước nhảy là ước của 60 cho trường phút và ước của 24 cho trường giờ.

Biểu thức cron chạy theo múi giờ nào?

Theo múi giờ của môi trường đang chạy chứ không mang sẵn thông tin múi giờ. Nhiều máy chủ trong bộ chứa và nhiều nền tảng chạy tác vụ theo lịch đặt mặc định là giờ phối hợp quốc tế, trong khi Việt Nam nhanh hơn bảy giờ. Vì vậy muốn chạy chín giờ sáng giờ Việt Nam trên hệ thống dùng giờ quốc tế, bạn phải đặt giờ là 2.

Số 0 ở trường thứ là ngày nào trong tuần?

Là chủ nhật. Thứ hai là 1, và cứ thế tới thứ bảy là 6. Nhiều bản cài đặt còn chấp nhận số 7 cũng là chủ nhật để tương thích, nhưng bạn không nên dựa vào điều đó vì không phải hệ thống nào cũng hỗ trợ. Công cụ này hiểu theo quy ước 0 là chủ nhật.

Công cụ có hỗ trợ biểu thức sáu trường không?

Không. Nếu bạn dán biểu thức có thêm trường giây ở đầu, thứ được dùng trong một số bộ lập lịch của Java và một vài nền tảng đám mây, thì phần diễn giải sẽ không hiện ra vì công cụ chỉ nhận đúng năm trường. Bạn có thể tạm bỏ trường giây để xem ý nghĩa của năm trường còn lại.

Các bí danh viết tắt như chạy hằng ngày có dùng được không?

Nhiều bản cài đặt cron hỗ trợ các bí danh bắt đầu bằng dấu a còng cho những lịch thông dụng, nhưng công cụ này không hiểu chúng nên không diễn giải được. Ngoài ra bí danh chạy khi khởi động lại máy hoạt động rất khác các bí danh còn lại vì nó không gắn với thời điểm cố định nào, hãy cẩn thận khi dùng.

Vì sao tác vụ chạy được khi gõ tay nhưng chạy qua cron thì lỗi?

Gần như luôn do khác biệt môi trường. Cron chạy với biến môi trường tối thiểu, thường không có cùng biến đường dẫn như phiên đăng nhập của bạn. Cách xử lý là dùng đường dẫn tuyệt đối cho mọi lệnh và mọi tệp, khai báo tường minh các biến cần thiết, và chuyển hướng cả đầu ra lẫn thông báo lỗi vào một tệp nhật ký để xem lại.

Nếu lần chạy trước chưa xong mà tới giờ chạy tiếp thì sao?

Cron vẫn khởi động một tiến trình mới, không chờ và không bỏ qua. Với tác vụ nặng chạy theo chu kỳ ngắn, điều này dễ dẫn tới nhiều tiến trình chồng lên nhau và làm cạn tài nguyên máy chủ. Cách phòng thông dụng là bọc lệnh trong một cơ chế khóa để lần chạy mới tự thoát khi thấy lần trước còn đang chạy.

Công cụ có kiểm tra giá trị hợp lệ không?

Không. Nó chỉ diễn giải chứ không kiểm tra khoảng giá trị, nên gõ 70 vào trường phút hay 25 vào trường giờ vẫn cho ra một câu trông bình thường trong khi hệ thống thật sẽ từ chối dòng cấu hình đó. Hãy tự đối chiếu với sơ đồ cú pháp ghi rõ khoảng hợp lệ của từng trường.

Công cụ có hiển thị các lần chạy kế tiếp không?

Không, nó chỉ diễn giải ý nghĩa của biểu thức chứ không tính mốc thời gian cụ thể. Nếu bạn cần biết chính xác lần chạy tới rơi vào lúc nào, hãy dùng công cụ chuyên tính lịch chạy, hoặc đặt tạm một lịch dày trên môi trường thử nghiệm rồi quan sát nhật ký để xác nhận trước khi áp lên môi trường thật.

Từ khóa liên quan

  • cron expression là gì
  • giải thích cron online
  • cú pháp crontab
  • cron 5 trường
  • cron chạy mỗi 5 phút
  • cron chạy hằng ngày lúc 9h
  • cron thứ 2 đến thứ 6
  • cron ngày trong tháng và thứ
  • cron múi giờ utc việt nam
  • cron chạy sai giờ
  • bước nhảy trong cron
  • cron mỗi 30 phút
  • cron job linux
  • lịch chạy tác vụ tự động
  • crontab không chạy được
  • cron chồng tiến trình
  • cron parser online free
  • tạo cron expression
  • cron mỗi đầu tháng
  • công cụ đọc cron miễn phí

Công cụ Developer Tools liên quan

.env Generator

Tạo file .env và .env.example cho dự án.

.gitignore Generator

Tạo .gitignore cho Node.js, Python, Java.

API Mock Generator

Tạo mock JSON data cho API testing.

API Response Formatter

Format và phân tích API response.

API Tester

Test REST API: GET, POST, PUT, DELETE.

Postman Alternative - API Testing Tool Online với Collections, Environment & File Upload

Postman Alternative miễn phí - Test APIs với Collections, Multiple Environments, Pre-request Scripts, Collection Runner, File Upload (form-data), Tests/Assertions, Code Generation (cURL, JS, Python, Node.js). Browser-based, không cần cài đặt. Save requests, export/import collections, auto-save history. Hỗ trợ Bearer Token, Basic Auth, API Key. Hoàn hảo cho API development và testing.

Swagger API Tester - Test API với OpenAPI/Swagger Spec & Authentication Online

Swagger API Tester miễn phí - Import OpenAPI/Swagger specification và test API endpoints với đầy đủ authentication (Bearer Token/JWT, Basic Auth, API Key). Hỗ trợ OpenAPI 3.0, Swagger 2.0, auto-parse endpoints, parameters, request body. Giao diện như Swagger UI với color-coded methods, grouped endpoints, real-time testing. Hoàn hảo cho API development, testing, debugging secured APIs.

Base Converter

Chuyển đổi Binary, Hex, Base32.

Base64 Encoder

Mã hóa/giải mã Base64.

Binary Converter

Chuyển đổi Decimal, Binary, Hex.

Box Shadow Generator

Tạo CSS box-shadow trực quan.

Chmod Calculator

Tính quyền file Linux.

Dịch vụ của Tấn Phát Digital

Đang xây sản phẩm và cần thêm người làm phần nặng?

Gói giải pháp doanh nghiệp

Nền tảng custom cho ngân hàng, y tế và sàn B2B, chuẩn ISO 27001, GDPR, PCI-DSS, SLA 99.99%.

Từ 50.000.000đXem chi tiết →

Dịch vụ phát triển Blockchain & Web3

Smart contract, dApp và NFT marketplace đa chuỗi, audit bảo mật đầy đủ trước khi lên mainnet.

Từ 50.000.000đXem chi tiết →

Dịch vụ thiết kế website tại Hồ Chí Minh

Website doanh nghiệp, bán hàng và đặt lịch, chuẩn SEO ngay từ cấu trúc, tốc độ tải dưới 3 giây.

Từ 5.000.000đXem chi tiết →

Dịch vụ thiết kế landing page

Trang đích riêng cho từng chiến dịch quảng cáo, tỷ lệ chuyển đổi 3–8%, bàn giao trong 5–21 ngày.

Từ 3.000.000đXem chi tiết →

Tư vấn và báo giá miễn phí trong 24 giờ. Xem toàn bộ dịch vụ

Zalo
Facebook
Tấn Phát Digital
Zalo
Facebook