Mở trong Trình tạo biểu thức Cron →
* * * * * nghĩa là gì
Cron đọc năm trường từ trái sang phải: phút, giờ, ngày trong tháng, tháng và thứ trong tuần. Trang này hiển thị biểu thức tiêu chuẩn gần nhất (mỗi phút) và cách đạt khoảng cách 30 giây.
| Trường | Giá trị | Ý nghĩa | Cho phép |
|---|---|---|---|
| Phút | * | mỗi phút | 0–59 |
| Giờ | * | mỗi giờ | 0–23 |
| Ngày trong tháng | * | mỗi ngày trong tháng | 1–31 |
| Tháng | * | mỗi tháng | 1–12 |
| Thứ trong tuần | * | mỗi ngày trong tuần | 0–6 (Chủ nhật–Thứ bảy) |
Các lần chạy tiếp theo
Được tính trong trình duyệt của bạn theo múi giờ của bạn. Trên máy chủ, cron dùng múi giờ của máy chủ (thường là UTC).
- Bật JavaScript để xem các lần chạy tiếp theo.
Trường hợp thường dùng
- Polling với tần suất rất cao
Điều cần biết
Cron tiêu chuẩn không thể chạy nhanh hơn một phút. Muốn chạy một job hai lần mỗi phút: * * * * * /job.sh; sleep 30; /job.sh, hoặc dùng systemd timer (OnCalendar=*:*:0/30) hoặc một worker chạy liên tục.
Dùng trong crontab, GitHub Actions, Kubernetes và Node.js
crontab (crontab -e):
* * * * * /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1
GitHub Actions (giờ theo UTC): GitHub Actions chỉ chạy lịch tối đa 5 phút một lần, nên lịch này sẽ bị giới hạn ở đó.
on:
schedule:
- cron: '* * * * *'
Kubernetes CronJob:
apiVersion: batch/v1
kind: CronJob
metadata:
name: my-job
spec:
schedule: "* * * * *"
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: my-job
image: alpine:3
command: ["sh", "-c", "echo running"]
Node.js (node-cron):
import cron from 'node-cron';
cron.schedule('* * * * *', () => {
// your job
});
Lịch liên quan
- Mỗi phút —
* * * * * - Mỗi 2 phút —
*/2 * * * * - Mỗi 5 phút —
*/5 * * * * - Mỗi 10 phút —
*/10 * * * * - Mỗi 15 phút —
*/15 * * * * - Mỗi 20 phút —
*/20 * * * * - Mỗi 30 phút —
*/30 * * * *
Tạo lịch riêng của bạn
Chuyển bất kỳ lịch nào thành biểu thức cron — hoặc biểu thức bất kỳ thành ngôn ngữ dễ hiểu — kèm các lần chạy tiếp theo.
Câu hỏi thường gặp
Biểu thức cron cho mỗi 30 giây là gì?
* * * * * kèm lệnh sleep 30 giây, systemd timer hoặc tiến trình worker. Cron tiêu chuẩn không thể chạy dưới một phút. Muốn chạy job hai lần mỗi phút: * * * * * /job.sh; sleep 30; /job.sh, hoặc dùng systemd timer (OnCalendar=*:*:0/30) hoặc một worker chạy liên tục.Cron dùng múi giờ nào?
spec.timeZone (ví dụ Europe/Berlin).