Ekspresi cron: setiap menit

* * * * * berjalan setiap menit. Berikut arti tiap field, kapan run berikutnya, dan cara memakainya di crontab, GitHub Actions, Kubernetes, dan Node.js.

Diperbarui

* * * * *
Ekspresi cron
Setiap menit
Jadwal

Buka di Generator Ekspresi Cron →

Arti * * * * *

Cron membaca lima field dari kiri ke kanan: menit, jam, tanggal, bulan, dan hari dalam seminggu. Untuk setiap menit, nilainya adalah:

FieldNilaiArtiRentang
Menit*setiap menit0–59
Jam*setiap jam0–23
Tanggal*setiap tanggal dalam bulan1–31
Bulan*setiap bulan1–12
Hari*setiap hari dalam seminggu0–6 (Min–Sab)

Jadwal berikutnya

Dihitung di browser kamu untuk zona waktu kamu. Di server, cron memakai zona waktu server (biasanya UTC).

  1. Aktifkan JavaScript untuk melihat jadwal run berikutnya.

Penggunaan umum

  • Polling antrean atau inbox
  • Health check dan heartbeat
  • Menguji apakah cron benar-benar berjalan

Yang perlu diketahui

Berjalan 1.440 kali sehari. Pastikan job selesai jauh di bawah satu menit, atau gunakan lock (flock) agar run tidak saling tumpang tindih.

Cara pakai di crontab, GitHub Actions, Kubernetes, dan Node.js

crontab (crontab -e):

* * * * * /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1

GitHub Actions (waktu dalam UTC): GitHub Actions menjalankan jadwal paling sering setiap 5 menit, jadi jadwal ini akan dibatasi di sana.

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
});

Jadwal terkait

Pertanyaan yang sering diajukan

Apa ekspresi cron untuk setiap menit?
* * * * *. Job berjalan setiap menit.
Cron memakai zona waktu yang mana?
Cron klasik memakai zona waktu lokal server, dan banyak server berjalan dengan UTC. GitHub Actions selalu memakai UTC. CronJob Kubernetes memakai zona waktu controller, kecuali kamu mengatur spec.timeZone (misalnya Europe/Berlin).
Bagaimana cara menguji ekspresi cron?
Tempel ekspresinya ke Generator Ekspresi Cron untuk melihatnya dalam bahasa biasa beserta jadwal run berikutnya, lalu cek log job kamu setelah run terjadwal pertama.