Konverter Gratis

Generator Ekspresi Cron

Buat, jelaskan, dan validasi ekspresi cron secara instan di browser Anda. Pembangun visual dan pengurai ekspresi — gratis, privat, dan sisi klien.

Ekspresi Cron
0 */6 * * *
Deskripsi yang Mudah Dibaca
Every minute
5 Jadwal Berikutnya
Calculating...

Tentang alat ini

Ekspresi cron adalah lima (atau enam, bergantung pada sistem) bidang yang dipisahkan spasi yang menggambarkan jadwal: menit, jam, hari dalam sebulan, bulan, dan hari dalam seminggu. Setiap bidang menerima nilai numerik, rentang, daftar, kenaikan, dan karakter pengganti. Cron telah menjadi format penjadwalan Unix de facto sejak akhir tahun 1970-an dan sekarang digunakan jauh melampaui Unix — oleh Kubernetes CronJobs, GitHub Actions, aturan AWS EventBridge, pekerjaan Jenkins, dan hampir semua sistem penjadwalan lainnya dalam produksi.

Membaca dan menulis ekspresi cron dengan tangan rawan kesalahan. Bidang-bidang tersebut bersifat posisional, interaksi hari-bulan dan hari-minggu tidak jelas (nilai di salah satu bidang memicu pekerjaan, bukan keduanya), dan kesalahan secara diam-diam menghasilkan jadwal yang terlihat benar tetapi dijalankan pada waktu yang salah. Generator yang menerjemahkan jadwal bahasa Inggris biasa ke dalam sintaks cron yang benar akan menghindari kesalahan ini.

Alat ini menawarkan dua arah: membuat ekspresi cron dari bentuk yang mudah dipahami (setiap hari Senin jam 9 pagi, setiap 5 menit selama jam kerja), dan menjelaskan ekspresi cron yang ada dalam istilah manusia. Keduanya berjalan di browser Anda tanpa interaksi server apa pun.

Mengapa Menggunakan Generator Cron

Sintaks Cron padat dan tak kenal ampun. Kesalahan umum termasuk penomoran hari dalam seminggu yang membingungkan (Minggu adalah 0 atau 7 tergantung pada sistem), lupa bahwa hari dalam bulan dan hari dalam seminggu menggunakan semantik OR, dan salah memahami sintaks kenaikan (*/5 berarti setiap 5 dimulai dari 0). Generator menangkapnya berdasarkan konstruksi — ekspresi yang dihasilkan cocok dengan apa yang Anda jelaskan di formulir.

Membaca ekspresi yang ada juga sama sulitnya. Jadwal seperti 0 9 * * 1-5 dibaca setiap hari kerja pada jam 9 pagi setelah Anda mengetahui sintaksnya, tetapi siapa pun yang tidak terbiasa dengan cron harus mencari setiap kolom. Menjelaskan ekspresi dalam istilah manusia lebih cepat daripada mempelajari sintaksis untuk interaksi satu kali saja.

Cara menggunakan

Pilih pola jadwal, dapatkan ekspresi cron.

  1. Pilih mode pembangkitan: Buat ekspresi cron dari input formulir (frekuensi, waktu, hari), atau jelaskan ekspresi yang ada dalam istilah manusia.
  2. Konfigurasikan jadwal: Pilih frekuensinya (setiap menit, setiap jam, setiap hari, setiap minggu, setiap bulan, khusus). Tentukan waktu, hari, dan interval sesuai kebutuhan. Formulir membatasi masukan ke kombinasi yang valid.
  3. Menghasilkan atau menjelaskan: Generasi menghasilkan sintaks cron standar (5 bidang). Penjelasannya mengelompokkan setiap bidang dan memberikan ringkasan yang dapat dibaca manusia.
  4. Gunakan dalam penjadwal Anda: Tempelkan ekspresi yang dihasilkan ke dalam spesifikasi Kubernetes CronJob, jadwal Tindakan GitHub, AWS EventBridge, atau penjadwal platform Anda.

Kasus Penggunaan Umum

Detail Teknis

Cron standar memiliki lima bidang: menit (0–59), jam (0–23), hari dalam sebulan (1–31), bulan (1–12), hari dalam seminggu (0–6 atau 0–7, keduanya hari Minggu). Setiap bidang menerima nilai tunggal, daftar yang dipisahkan koma, rentang dengan tanda hubung, penambahan dengan /, atau karakter pengganti dengan *.

Penggunaan semantik OR hari dalam sebulan dan hari dalam seminggu: jika salah satu disetel ke nilai non-wildcard, pekerjaan akan berjalan jika salah satunya cocok. Ini berlawanan dengan intuisi tetapi cocok dengan perilaku cron POSIX. Menyetel kedua bidang akan menghasilkan jadwal yang lebih luas, bukan jadwal yang lebih sempit.

Ekstensi bervariasi menurut penerapannya. Beberapa menerima bidang keenam untuk detik (Kuarsa, Musim Semi); ada yang menerima? sebagai alternatif karakter pengganti; beberapa menyertakan pintasan @yearly, @monthly, @daily. Generator menghasilkan cron 5 bidang standar yang cocok untuk sebagian besar sistem.

Praktik Terbaik

Pertanyaan yang sering diajukan

Apa format ekspresi cron?
Cron standar menggunakan 5 bidang: menit (0-59), jam (0-23), hari dalam sebulan (1-31), bulan (1-12), hari dalam seminggu (0-7, dengan 0 dan 7 adalah hari Minggu). Karakter khusus: * (apa saja), , (daftar), - (rentang), / (langkah).
Bagaimana cara mengatur pekerjaan agar berjalan setiap 5 menit?
Gunakan */5 pada kolom menit: '*/5 * * * *'. /5 berarti 'setiap nilai ke-5'. Demikian pula */15 = setiap 15 menit, */2 = setiap 2 menit.
Zona waktu apa yang digunakan cron?
Cron biasanya menggunakan zona waktu sistem. Di server Linux, ini biasanya UTC kecuali jika dikonfigurasi sebaliknya. Layanan cloud (AWS, GCP) sering kali menggunakan UTC secara default. Selalu periksa pengaturan zona waktu sistem Anda.
Apakah ini format yang sama yang digunakan oleh GitHub Actions?
GitHub Actions menggunakan format 5 bidang yang sama tetapi berjalan dalam zona waktu UTC. AWS CloudWatch dan Kubernetes CronJobs juga menggunakan format ini. Beberapa sistem seperti Quartz menggunakan format bidang 6-7 yang diperluas dengan hitungan detik.
Apa perbedaan antara 0 pada hari dalam seminggu dan 7?
Keduanya berarti hari Minggu. Cron POSIX menerima 0–6 atau 0–7. Gunakan mana saja yang disukai implementasi cron spesifik Anda; sebagian besar menerima keduanya.
Apakah penjelasannya akurat untuk cron non-standar?
Ini menargetkan cron 5 bidang standar. Ekstensi kuarsa (dengan detik), varian AWS EventBridge, dan dialek lainnya mungkin tidak diuraikan dengan benar. Konfirmasikan terhadap dokumentasi sistem tujuan.
Apakah ekspresi saya dikirim ke server?
Tidak. Pembuatan dan penjelasan terjadi di browser Anda.
Bagaimana dengan pintasan @yearly, @monthly?
Implementasi cron yang umum mendukung @yearly, @monthly, @weekly, @daily, @hourly, dan @reboot sebagai pintasan untuk jadwal umum. Generator menghasilkan ekspresi 5 bidang standar; Anda dapat mengganti pintasan secara manual jika penjadwal Anda menerimanya.