Developer

Pengurai Ekspresi Cron

Tempel ekspresi cron 5-field apa pun dan langsung lihat artinya dalam bahasa yang mudah dipahami — tidak perlu lagi menatap tanda bintang dan garis miring untuk mengetahui kapan sebuah tugas berjalan.

Apakah kalkulator ini membantu Anda?

Apa itu Pengurai Ekspresi Cron?

Cron adalah sintaks penjadwalan standar yang digunakan oleh cron job Unix/Linux, pipeline CI/CD, Kubernetes CronJob, dan berbagai penjadwal tugas lainnya. Sebuah ekspresi cron memadatkan seluruh jadwal berulang ke dalam lima field ringkas, yang sangat kuat tetapi terkenal sulit dibaca sekilas — apakah "0 */4 * * 1-5" berarti setiap 4 jam pada hari kerja, atau sesuatu yang sama sekali berbeda? Parser ini memecah ekspresi cron field demi field dan menerjemahkannya menjadi kalimat bahasa sederhana, sehingga Anda dapat memverifikasi bahwa jadwal sudah benar sebelum menerapkannya, atau dengan cepat memahami jadwal yang ditulis orang lain tanpa perlu melihat tabel sintaks cron.

Kapan Menggunakan Kalkulator Ini

  • Saat memverifikasi jadwal cron sebelum men-deploy tugas terjadwal atau pipeline CI/CD
  • Saat mendebug mengapa sebuah tugas terjadwal berjalan atau tidak berjalan pada waktu yang tidak terduga
  • Saat meninjau Kubernetes CronJob atau jadwal GitHub Actions yang ditulis oleh rekan kerja
  • Saat mempelajari sintaks cron untuk kursus sertifikasi admin sistem atau DevOps
  • Saat mengaudit entri crontab yang ada selama migrasi server
  • Saat merancang pola penjadwalan kompleks yang menggabungkan beberapa batasan waktu

Langkah-langkah:

  1. Tempel atau ketik ekspresi cron 5-field ke dalam input.
  2. Lihat setiap field diuraikan secara individual dengan artinya.
  3. Baca terjemahan bahasa sederhana dari keseluruhan jadwal.
  4. Coba tombol preset untuk jadwal umum seperti "setiap jam" atau "hari kerja jam 9 pagi".

Rumus

┌───────────── menit (0-59) │ ┌───────────── jam (0-23) │ │ ┌───────────── hari dalam bulan (1-31) │ │ │ ┌───────────── bulan (1-12) │ │ │ │ ┌───────────── hari dalam minggu (0-6, Minggu=0) │ │ │ │ │ * * * * *

Kasus Penggunaan

  • Memverifikasi jadwal cron sebelum menerapkan tugas terjadwal atau pipeline CI/CD
  • Memahami CronJob Kubernetes atau fungsi terjadwal serverless yang ditulis rekan kerja
  • Men-debug alasan sebuah tugas terjadwal berjalan (atau tidak berjalan) pada waktu yang tidak terduga
  • Mempelajari sintaks cron untuk kursus sysadmin atau DevOps
  • Mengaudit entri crontab yang ada selama migrasi server

Manfaat Utama

  • Menerjemahkan sintaks cron yang kriptik menjadi bahasa sederhana secara instan
  • Menguraikan setiap 5 field secara individual untuk kejelasan
  • Preset satu-klik untuk pola penjadwalan paling umum
  • Tanpa pendaftaran, berjalan sepenuhnya di browser Anda

Tips Profesional

  • Jika ragu, uji dengan waktu yang sangat dekat di masa depan terlebih dahulu untuk memastikan jadwal berjalan sesuai harapan
  • Gunakan rentang (1-5) daripada mendaftar setiap nilai dengan koma jika memungkinkan, untuk keterbacaan
  • Periksa kembali pengaturan zona waktu server atau penjadwal Anda — ini adalah sumber bug cron "waktu salah" yang paling umum
  • Untuk jadwal yang lebih kompleks dari harian/mingguan sederhana, tulis deskripsi bahasa sederhananya dan bandingkan dengan maksud Anda sebelum menerapkan

Kesalahan Umum yang Harus Dihindari

  • Lupa bahwa hari-dalam-bulan dan hari-dalam-minggu digabungkan dengan OR, bukan AND
  • Mencampuradukkan hari-dalam-minggu berindeks-0 (0=Minggu) dengan konvensi berindeks-1 dari sistem lain
  • Mengira */7 di field hari-dalam-bulan berarti "setiap 7 hari" — sebenarnya berarti hari 1, 8, 15, 22, 29, yang dimulai ulang setiap bulan
  • Lupa bahwa sebagian besar implementasi cron berjalan pada zona waktu lokal server, bukan UTC atau zona waktu pengguna

Istilah Kunci Dijelaskan

Cron: Penjadwal tugas berbasis waktu yang digunakan dalam sistem operasi mirip-Unix
Crontab: File atau perintah yang digunakan untuk menentukan daftar tugas cron
Nilai Langkah: Sintaks "/N" yang berarti "setiap N unit" dimulai dari nilai minimum sebuah field
CronJob: Sumber daya native Kubernetes untuk menjalankan tugas terjadwal cron

Konsep Terkait

Contoh

Ekspresi "0 9 * * 1-5" diuraikan menjadi: menit=0, jam=9, setiap hari dalam bulan, setiap bulan, Senin hingga Jumat — artinya "Pukul 09:00, Senin hingga Jumat."

Interpretasi Hasil Anda

Pengurai memecah ekspresi cron 5 field menjadi komponen individunya dan menerjemahkan setiap komponen ke bahasa sederhana. Lima field adalah: menit (0–59), jam (0–23), hari dalam bulan (1–31), bulan (1–12), dan hari dalam minggu (0–6, di mana 0 adalah Minggu). Sebuah tugas berjalan ketika SEMUA lima field cocok dengan waktu saat ini — ini adalah logika AND antar field. Perhatikan interaksi antara hari dalam bulan dan hari dalam minggu, yang menggunakan logika OR (bukan AND). Sebuah tugas yang dijadwalkan dengan hari 15 DAN hari dalam minggu 5 akan berjalan pada tanggal 15 setiap bulan DAN setiap Jumat — bukan hanya Jumat yang jatuh pada tanggal 15.

Pertanyaan Umum

Apa saja 5 field dalam ekspresi cron?
Secara berurutan: menit (0-59), jam (0-23), hari dalam bulan (1-31), bulan (1-12), dan hari dalam minggu (0-6, di mana 0 adalah Minggu). Sebuah tugas berjalan ketika kelima field cocok dengan waktu saat ini.
Apa arti tanda bintang (*) dalam sintaks cron?
Tanda bintang berarti "semua nilai diizinkan" untuk field tersebut. Misalnya, * di field jam berarti tugas dapat berjalan kapan saja, yang secara efektif berarti field tersebut tidak membatasi jadwal.
Apa arti */5?
Garis miring menunjukkan nilai langkah (step value). */5 di field menit berarti "setiap 5 menit" — dimulai dari nilai minimum field dan berulang setiap 5 unit.
Bagaimana cara menjadwalkan tugas hanya untuk hari kerja?
Gunakan rentang di field hari-dalam-minggu: 1-5 mewakili Senin hingga Jumat. Dikombinasikan dengan jam dan menit tertentu, misalnya "0 9 * * 1-5" berjalan pukul 09:00 setiap hari kerja.
Apa arti koma dalam sintaks cron?
Koma memisahkan beberapa nilai dalam satu field. Misalnya, 0,15,30,45 di field menit berarti tugas berjalan pada menit 0, 15, 30, dan 45. Koma adalah OR sederhana: tugas berjalan pada salah satu nilai yang terdaftar.
Apa itu tanda hubung (rentang) dalam sintaks cron?
Tanda hubung mendefinisikan rentang nilai. Misalnya, 1-5 di field hari-dalam-minggu berarti Senin hingga Jumat (hari 1 hingga 5). Rentang bersifat inklusif dari kedua ujung. Anda dapat menggabungkan rentang dengan sintaks lain: 1-5,0 berarti Senin hingga Jumat ditambah Minggu.
Bagaimana cara menjadwalkan tugas untuk berjalan setiap 2 minggu?
Cron standar tidak mendukung penjadwalan dua minggu secara native. Anda memiliki dua opsi: (1) Gunakan skrip pembungkus yang memeriksa tanggal dan hanya berjalan setiap dua minggu, atau (2) Gunakan scheduler tugas yang mendukung ekspresi yang lebih kompleks seperti AWS EventBridge atau timer sistem dengan pemicu berbasis kalender.
Zona waktu apa yang digunakan cron?
Cron standar menggunakan zona waktu lokal server. Jika server Anda dikonfigurasi untuk UTC, semua tugas cron berjalan di UTC terlepas dari zona waktu lokal Anda. Selalu verifikasi pengaturan zona waktu server, terutama di lingkungan cloud di mana zona waktu default mungkin tidak cocok dengan zona waktu yang Anda harapkan.
Apa perbedaan antara cron dan crontab?
Cron adalah daemon (layanan latar belakang) yang menjalankan tugas terjadwal. Crontab adalah file konfigurasi (atau perintah) yang mendefinisikan daftar tugas cron. Saat Anda mengedit crontab, Anda menulis definisi jadwal yang dibaca dan dieksekusi oleh daemon cron.
Bagaimana saya menangani waktu hemat siang dengan cron?
Sebagian besar implementasi cron tidak menyesuaikan secara otomatis untuk DST. Ketika jam maju, tugas yang dijadwalkan untuk pukul 2:00 pagi mungkin dilewati sepenuhnya. Ketika jam mundur, tugas mungkin berjalan dua kali. Untuk menghindari masalah DST, jadwalkan tugas di luar jam transisi (2:00–3:00 pagi) atau gunakan penjadwalan berbasis UTC.
Bisakah saya menggunakan cron untuk interval sub-menit?
Cron standar memiliki granularitas tingkat menit dan tidak dapat menjadwalkan tugas lebih sering dari sekali per menit. Untuk interval sub-menit, gunakan alternatif seperti timer systemd, Kubernetes CronJobs dengan interval lebih pendek, atau scheduler tingkat aplikasi (node-cron dengan dukungan milidetik).

Temukan Lebih Banyak Alat

Pilihan segar dari seluruh pustaka alat kami.