Ekspresi cron: setiap hari tengah malam

0 0 * * * berjalan setiap hari tengah malam. Berikut arti tiap field, kapan jalan berikutnya, dan cara memakainya di crontab, GitHub Actions, Kubernetes, dan Node.js.

Diperbarui

0 0 * * *
Ekspresi cron
Setiap hari tengah malam
Jadwal

Buka di Cron Expression Generator →

Arti 0 0 * * *

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

FieldNilaiArtiRentang
Menit000–59
Jam000:000–23
Tanggal*setiap tanggal dalam bulan1–31
Bulan*setiap bulan1–12
Hari dalam seminggu*setiap hari dalam seminggu0–6 (Min–Sab)

Jadwal berikutnya

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

  1. Aktifkan JavaScript untuk melihat jadwal berikutnya.

Penggunaan umum

  • Backup malam hari
  • Laporan harian
  • Reset kuota harian

Perlu diketahui

Tengah malam di zona waktu server (biasanya UTC). @daily dan @midnight artinya sama.

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

crontab (crontab -e):

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

GitHub Actions (waktu dalam UTC):

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

Kubernetes CronJob:

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

Jadwal terkait

Pertanyaan yang sering diajukan

Apa ekspresi cron untuk setiap hari tengah malam?
0 0 * * *. Jalan pada menit 0; 00:00.
Zona waktu apa yang dipakai cron?
Cron klasik memakai zona waktu lokal server, dan banyak server berjalan di UTC. GitHub Actions selalu memakai UTC. Kubernetes CronJob memakai zona waktu controller kecuali kamu mengatur spec.timeZone (misalnya Europe/Berlin).
Bagaimana cara menguji ekspresi cron?
Tempel ekspresinya ke Cron Expression Generator untuk melihat penjelasannya dalam bahasa biasa beserta jadwal berikutnya, lalu cek log job kamu setelah eksekusi pertama.