Ekspresi cron: setiap hari jam 2 pagi

0 2 * * * berjalan setiap hari jam 2 pagi. Berikut arti tiap field, kapan run berikutnya, dan cara memakainya di crontab, GitHub Actions, Kubernetes, dan Node.js.

Diperbarui

0 2 * * *
Ekspresi cron
Setiap hari jam 2 pagi
Jadwal

Buka di Cron Expression Generator →

Arti 0 2 * * *

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

FieldNilaiArtiBatas
Menit000–59
Jam202:000–23
Tanggal*setiap hari dalam bulan1–31
Bulan*setiap bulan1–12
Hari dalam minggu*setiap hari dalam minggu0–6 (Min–Sab)

Jadwal run berikutnya

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

  1. Aktifkan JavaScript untuk melihat waktu run berikutnya.

Penggunaan umum

  • Backup saat trafik rendah
  • Vacuum atau optimasi tabel

Yang perlu diketahui

Hati-hati saat ada perubahan waktu musim panas (daylight saving). Di zona waktu yang melewati jam 2:00–3:00, job mungkin tidak berjalan malam itu. Jalankan cron dalam UTC untuk menghindarinya.

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

crontab (crontab -e):

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

GitHub Actions (waktu dalam UTC):

on:
  schedule:
    - cron: '0 2 * * *'

Kubernetes CronJob:

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

Jadwal terkait

Pertanyaan yang sering diajukan

Apa ekspresi cron untuk setiap hari jam 2 pagi?
0 2 * * *. Berjalan pada menit 0; 02:00.
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 ke Cron Expression Generator untuk melihatnya dalam bahasa biasa beserta waktu run berikutnya, lalu cek log job kamu setelah run terjadwal pertama.