Biểu thức cron: mỗi phút

* * * * * chạy mỗi phút. Dưới đây là ý nghĩa từng trường, thời điểm chạy tiếp theo và cách dùng trong crontab, GitHub Actions, Kubernetes và Node.js.

Cập nhật

* * * * *
Biểu thức cron
Mỗi phút
Lịch chạy

Mở trong Cron Expression Generator →

Ý nghĩa của * * * * *

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. Với mỗi phút, các trường có giá trị như sau:

TrườngGiá trịÝ nghĩaGiá trị cho phép
Phút*mỗi phút0–59
Giờ*mỗi giờ0–23
Ngày trong tháng*mỗi ngày trong tháng1–31
Tháng*mỗi tháng1–12
Thứ trong tuần*mỗi ngày trong tuần0–6 (Chủ nhật–Thứ bảy)

Các lần chạy tiếp theo

Được tính trên 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).

  1. Hãy bật JavaScript để xem thời điểm chạy tiếp theo.

Các trường hợp thường dùng

  • Kiểm tra định kỳ hàng đợi hoặc hộp thư
  • Health check và heartbeat
  • Kiểm tra xem cron có chạy hay không

Lưu ý

Chạy 1.440 lần mỗi ngày. Hãy đảm bảo công việc kết thúc trong thời gian ngắn hơn một phút, hoặc dùng khóa (flock) để các lần chạy không chồng lên nhau.

Cách 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 (thời gian theo UTC): GitHub Actions chỉ cho phép lịch chạy tối đa mỗi 5 phút, nên biểu thức này sẽ bị giới hạn tần suất ở đó.

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 chạy liên quan

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

Biểu thức cron cho mỗi phút là gì?
* * * * *. Công việc sẽ chạy mỗi phút.
Cron dùng múi giờ nào?
Cron truyền thống dùng múi giờ cục bộ của máy chủ, và nhiều máy chủ chạy theo UTC. GitHub Actions luôn dùng UTC. Kubernetes CronJob dùng múi giờ của controller, trừ khi bạn đặt spec.timeZone (ví dụ Europe/Berlin).
Làm sao để kiểm tra biểu thức cron?
Dán biểu thức vào Cron Expression Generator để xem bằng ngôn ngữ đời thường cùng thời điểm chạy tiếp theo, sau đó kiểm tra log của công việc sau lần chạy đầu tiên theo lịch.