Pengembangan

Ekspresi Cron Dijelaskan: 15 Contoh Jadwal Nyata dan Jebakan Zona Waktu

Sintaks cron muat dalam satu baris, tapi cepat atau lambat semua orang pasti kebingungan, biasanya jam 2 pagi di malam pergantian waktu musim panas. Berikut cara kerja kelima field-nya, sejumlah jadwal yang bisa langsung kamu salin, dan jebakan yang perlu kamu ketahui.

Pemula · 7 menit baca · Diperbarui 30 Oktober 2026

Ekspresi Cron Dijelaskan: 15 Contoh Jadwal Nyata dan Jebakan Zona Waktu

Lima field

┌──────── minute (0–59)
│ ┌────── hour (0–23)
│ │ ┌──── day of month (1–31)
│ │ │ ┌── month (1–12)
│ │ │ │ ┌ day of week (0–6, Sunday = 0)
* * * * *

Setiap field menerima satu nilai (5), daftar (1,15), rentang (1-5), langkah (*/10), atau * untuk setiap nilai. Beberapa sistem (Quartz, AWS EventBridge) menambahkan field detik atau tahun, jadi cek dulu versi yang kamu pakai.

Jadwal siap salin

ExpressionRuns
*/5 * * * *Setiap 5 menit
0 * * * *Setiap jam, tepat di awal jam
15 */2 * * *Setiap 2 jam, pada menit ke-15
0 9 * * *Setiap hari pukul 09:00
30 2 * * *Setiap hari pukul 02:30 (lihat jebakan DST di bawah)
0 9 * * 1-5Hari kerja pukul 09:00
0 18 * * 5Setiap Jumat pukul 18:00
0 0 * * 0Setiap Minggu tengah malam
0 0 1 * *Tanggal 1 setiap bulan
0 0 1 1 *Setahun sekali, 1 Januari
0 8 1,15 * *Tanggal 1 dan 15 pukul 08:00
*/15 9-17 * * 1-5Setiap 15 menit selama jam kerja
0 0 * * 6,0Tengah malam setiap akhir pekan
0 3 * 1,4,7,10 *Setiap hari pukul 03:00 di bulan pertama setiap kuartal
0 12 * * *Setiap hari pukul 12:00

Buat atau terjemahkan ekspresi apa pun ke dalam bahasa sehari-hari dengan Cron Expression Generator, yang juga menampilkan waktu eksekusi berikutnya.

Jebakan hari-dalam-bulan vs hari-dalam-minggu

Ketika field hari-dalam-bulan dan hari-dalam-minggu sama-sama dibatasi, cron standar berjalan jika salah satu cocok, bukan keduanya. 0 9 13 * 5 berjalan setiap tanggal 13 di setiap bulan dan setiap Jumat, bukan hanya pada Jumat tanggal 13. Untuk berjalan di hari kerja terakhir atau Senin pertama, jadwalkan secara harian lalu cek tanggalnya di skrip kamu, atau gunakan scheduler dengan ekstensi seperti L dan #.

Zona waktu dan waktu musim panas (daylight saving time)

  • Server dan CI berjalan dalam UTC. Jadwal GitHub Actions, sebagian besar container, dan cloud scheduler memakai UTC. Pukul 09:00 di New York adalah 0 14 * * * saat musim dingin dan 0 13 * * * saat musim panas. Konversikan dengan Time Zone Converter, atau lihat beberapa zona sekaligus di World Clock.
  • Job antara pukul 01:00 dan 03:00 waktu lokal itu berisiko. Saat jam maju, 02:30 tidak ada dan job bisa terlewat; saat jam mundur, job bisa berjalan dua kali. Jadwalkan job penting di luar rentang waktu itu, atau jalankan scheduler dalam UTC.
  • Jadwal GitHub Actions bisa mulai terlambat beberapa menit saat server sedang sibuk, dan akan dinonaktifkan pada repositori yang tidak ada aktivitas selama 60 hari. Buat workflow dengan GitHub Actions Generator.

Pertanyaan yang sering diajukan

Apa arti */5 dalam cron?
Setiap nilai kelima pada field tersebut. Di field menit, */5 berarti menit 0, 5, 10 … 55, yaitu setiap lima menit.
Hari Minggu itu 0 atau 7?
Keduanya berfungsi di sebagian besar implementasi cron: 0 dan 7 sama-sama berarti Minggu. Gunakan 0 agar lebih portabel.
Cron memakai zona waktu apa?
Zona waktu mesin atau scheduler tempat cron berjalan. Cron Linux memakai zona waktu sistem (CRON_TZ bisa menggantinya di beberapa versi), sedangkan GitHub Actions dan sebagian besar cloud scheduler memakai UTC.

Baca juga