DevToolPal
ID

Ekspresi cron

Setiap tahun

Berjalan setahun sekali pukul 00:00 tanggal 1 Januari. Sama dengan @yearly dan @annually.

0 0 1 1 * Buka di Pengurai Ekspresi Cron

Per kolom

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

Waktu eksekusi berikutnya

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

  1. Jum, 1 Jan 2027, 00.00
  2. Sab, 1 Jan 2028, 00.00
  3. Sen, 1 Jan 2029, 00.00
  4. Sel, 1 Jan 2030, 00.00
  5. Rab, 1 Jan 2031, 00.00
  6. Kam, 1 Jan 2032, 00.00

Versi siap pakai

crontab
0 0 1 1 * /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-year
spec:
  schedule: "0 0 1 1 *"
  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 1 1 *'
  workflow_dispatch:

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

Quartz
0 0 0 1 1 ?

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 1 1 *")

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

FAQ

› Apakah cron andal untuk tugas tahunan?

Jika mesin mati pada saat itu, eksekusi terlewat. Gunakan anacron atau timer systemd dengan Persistent=true untuk tugas yang harus menyusul.

› Di zona waktu mana 0 0 1 1 * 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 1 1 * di Pengurai Ekspresi Cron di situs ini. Alat itu menjelaskan setiap kolom dan menampilkan eksekusi berikutnya dalam waktu lokal atau UTC, langsung di browser.