DevToolPal
ID

Ekspresi cron

Setiap hari tengah malam

Berjalan sekali sehari pukul 00:00. Sama dengan makro @daily dan @midnight.

0 0 * * * Buka di Pengurai Ekspresi Cron

Per kolom

Kolom Nilai Cocok dengan
Menit 0 0
Jam 0 0
Tanggal * Semua nilai
Bulan * Semua nilai
Hari * Semua nilai

Waktu eksekusi berikutnya

Contoh: 6 eksekusi pertama setelah 1 Januari 2026 (UTC).

  1. Jum, 2 Jan 2026, 00.00
  2. Sab, 3 Jan 2026, 00.00
  3. Min, 4 Jan 2026, 00.00
  4. Sen, 5 Jan 2026, 00.00
  5. Sel, 6 Jan 2026, 00.00
  6. Rab, 7 Jan 2026, 00.00

Versi siap pakai

crontab
0 0 * * * /path/to/command

Tambahkan baris ini dengan crontab -e. Baris berjalan di zona waktu server kecuali CRON_TZ atau TZ diatur.

Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
  name: every-day-at-midnight
spec:
  schedule: "0 0 * * *"
  timeZone: "Etc/UTC"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: job
              image: busybox:1.36
              command: ["/bin/sh", "-c", "date; echo run"]

Atur spec.timeZone (Kubernetes 1.27+); tanpanya jadwal mengikuti zona waktu controller manager, biasanya UTC.

GitHub Actions
on:
  schedule:
    - cron: '0 0 * * *'
  workflow_dispatch:

GitHub Actions selalu memakai UTC, hanya menerima interval minimal 5 menit, dan bisa terlambat memulai saat beban tinggi.

Quartz
0 0 0 * * ?

Quartz menaruh detik di depan dan butuh ? di tanggal atau hari. Hari bernomor 1–7 mulai Minggu, jadi memakai nama lebih aman.

Spring
@Scheduled(cron = "0 0 0 * * *")

Spring @Scheduled(cron = …) memakai enam kolom: detik, lalu lima kolom biasa.

FAQ

› Apakah tengah malam waktu yang baik untuk tugas harian?

Itu slot paling ramai. Jika tugas cukup berjalan sekali sehari, pilih waktu yang lebih sepi, dan ingat bahwa pergantian waktu musim panas di zona lokal bisa melewati atau mengulang jam dini hari.

› Di zona waktu mana 0 0 * * * berjalan?

Cron memakai zona waktu mesin atau layanan yang menjalankannya. Di Linux itu zona waktu sistem kecuali CRON_TZ atau TZ diatur; CronJob Kubernetes mendukung spec.timeZone; GitHub Actions selalu memakai UTC.

› Bagaimana memeriksa jadwal ini sebelum deploy?

Buka 0 0 * * * di Pengurai Ekspresi Cron di situs ini. Alat itu menjelaskan setiap kolom dan menampilkan eksekusi berikutnya dalam waktu lokal atau UTC, langsung di browser.