Ekspresi cron: setiap 30 menit

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

Diperbarui

*/30 * * * *
Ekspresi cron
Setiap 30 menit
Jadwal

Buka di Cron Expression Generator →

Arti */30 * * * *

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

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

Run berikutnya

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

  1. Aktifkan JavaScript untuk melihat waktu run berikutnya.

Penggunaan umum

  • Backup database yang sibuk secara inkremental
  • Menghitung ulang dashboard
  • Mengecek masa berlaku SSL dan domain

Perlu diketahui

Berjalan pada :00 dan :30. Pakai 15,45 * * * * untuk menggeser jadwalnya dari job lain yang juga berjalan setiap setengah jam.

Pakai di crontab, GitHub Actions, Kubernetes, dan Node.js

crontab (crontab -e):

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

GitHub Actions (waktu dalam UTC):

on:
  schedule:
    - cron: '*/30 * * * *'

Kubernetes CronJob:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-job
spec:
  schedule: "*/30 * * * *"
  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('*/30 * * * *', () => {
  // your job
});

Jadwal terkait

Pertanyaan yang sering diajukan

Apa ekspresi cron untuk setiap 30 menit?
*/30 * * * *. Jadwal ini berjalan setiap 30 menit.
Zona waktu apa yang dipakai cron?
Cron klasik memakai zona waktu lokal server, dan banyak server berjalan dalam 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 di Cron Expression Generator untuk melihat penjelasannya dalam bahasa biasa beserta waktu run berikutnya, lalu cek log job kamu setelah run terjadwal pertama.