Cron Expression Generator
Susun dan jelaskan jadwal cron dalam kalimat biasa, lengkap dengan waktu eksekusi berikutnya. Semuanya berjalan di perangkat Anda — tidak ada yang diunggah.
- Masuk
- Cron expression · schedule picker
- Keluar
- Plain-language schedule · next run times
* semua · , daftar · - rentang · / langkah · nama JAN–DEC dan SUN–SAT · 7 juga berarti Minggu
10 eksekusi berikutnya
Waktu yang terlewat karena daylight saving berjalan tepat setelah perubahan; waktu yang terulang berjalan sekali, kecuali untuk jam wildcard.
Sintaks crontab standar. Quartz dan AWS EventBridge memakai field berbeda (detik, tahun, ? dan 1 = Minggu).
Mencocokkan teks, bukan waktu? Buka Regex Tester
Susun dan pahami ekspresi cron
Cron expression generator ini mengubah jadwal menjadi sintaks crontab dan sebaliknya. Ketik atau tempel ekspresi untuk membacanya sebagai kalimat biasa, atau susun per field dengan kontrol yang tersedia, lalu periksa sepuluh jadwal eksekusi berikutnya di zona waktu mana pun, dengan perubahan daylight saving sudah diperhitungkan. Alat ini mengikuti aturan cron di setiap server Linux, termasuk aturan yang sering menjebak, dan semuanya dihitung di browser Anda.
Cara menulis ekspresi cron
- Mulai dari preset seperti Hari kerja jam 9:00, atau ketik ekspresi seperti
*/15 9-17 * * 1-5. - Baca kalimat di bawah input untuk memastikan jadwalnya sesuai maksud Anda.
- Ubah sebuah field di builder: pilih menit, jam, tanggal, bulan, atau hari, lalu setiap, setiap N, nilai tertentu, atau rentang. Ekspresi diperbarui saat Anda mengklik.
- Pilih zona waktu yang dipakai server atau scheduler Anda dan periksa jadwal eksekusi berikutnya, lalu salin ekspresinya ke crontab, workflow CI, atau job scheduler Anda.
Sintaks cron: lima field
Satu baris crontab standar punya lima field yang dipisahkan spasi, diikuti perintahnya: menit jam tanggal bulan hari. Sebagian scheduler, seperti node-cron dan Spring, menerima field keenam opsional untuk detik di depan; alat ini membaca kedua bentuk.
- Menit
- 0–59
- Jam
- 0–23, format 24 jam
- Tanggal
- 1–31
- Bulan
- 1–12 atau JAN–DEC
- Hari
- 0–6 atau SUN–SAT, di mana 0 adalah Minggu dan 7 juga diterima sebagai Minggu
- Detik (opsional)
- 0–59, sebagai field keenam di depan menit
Karakter khusus dan pintasan
*berarti setiap nilai:* * * * *berjalan setiap menit.,mendaftar nilai:0 8,12,18 * * *berjalan pukul 08:00, 12:00, dan 18:00.-adalah rentang:0 9 * * 1-5berjalan pukul 09:00 Senin sampai Jumat./adalah langkah:*/5 * * * *berarti setiap lima menit, dan1-10/2berarti 1, 3, 5, 7, dan 9.- Pintasan:
@hourly,@daily(atau@midnight),@weekly,@monthly, dan@yearly(atau@annually).@rebootberjalan sekali saat daemon cron dimulai, jadi tidak punya jadwal eksekusi berikutnya.
Jebakan tanggal dan hari
Jika kedua field hari dibatasi, cron menjalankan job saat salah satu cocok, bukan saat keduanya cocok. Karena itu 0 0 13 * 5 berjalan setiap tanggal 13 dan setiap hari Jumat, bukan hanya pada Jumat tanggal 13. Jika salah satu field diawali *, keduanya digabung dengan AND seperti yang Anda harapkan. Penjelasan dan jadwal eksekusi di sini mengikuti aturan itu dengan tepat.
Tanggal yang tidak ada di suatu bulan dilewati begitu saja: 0 0 31 * * hanya berjalan di bulan yang punya 31 hari, dan 0 0 29 2 * hanya di tahun kabisat. Untuk berjalan di hari terakhir setiap bulan dengan cron biasa, jadwalkan tanggal 28–31 dan periksa tanggalnya di perintah.
Contoh jadwal cron
Tempel salah satu contoh ini ke generator untuk membacanya kembali sebagai kalimat dan melihat persis kapan akan berjalan berikutnya. Jadwal yang tampak benar di kepala layak diperiksa dengan tanggal nyata sebelum masuk produksi, terutama yang berjalan bulanan atau tahunan dan baru akan menunjukkan kesalahannya setelah berminggu-minggu.
- */10 * * * *
- Setiap 10 menit, tepat di awal jam dan pada menit 10, 20, 30, 40, dan 50.
- 0 */6 * * *
- Setiap enam jam: pukul 00:00, 06:00, 12:00, dan 18:00.
- 30 2 * * *
- Setiap malam pukul 02:30, slot umum untuk backup (tetapi lihat catatan soal daylight saving di bawah).
- 0 9 * * MON-FRI
- Pukul 09:00 pada hari kerja.
- 0 0 1 * *
- Tengah malam pada tanggal 1 setiap bulan, sama dengan @monthly.
- 0 0 1 1,4,7,10 *
- Tengah malam di awal setiap kuartal.
- */30 * * * * *
- Setiap 30 detik, dalam format enam field dengan detik.
Zona waktu dan daylight saving time
Cron memakai jam mesin tempatnya berjalan, yang di sebagian besar server adalah UTC. Pilih zona itu di daftar eksekusi berikutnya untuk melihat apa yang benar-benar akan dilakukan job Anda. Di sekitar perubahan daylight saving, waktu yang terlewat saat jam dimajukan berjalan tepat setelah perubahan (02:30 menjadi 03:30), dan waktu yang terulang saat jam dimundurkan berjalan sekali; job yang field jamnya wildcard tetap berjalan di kedua salinan jam yang terulang, seperti Vixie cron.
Scheduler lain memakai dialek lain. Quartz (Java) dan AWS EventBridge memakai enam atau tujuh field dengan detik dan tahun, mewajibkan ? di salah satu dari dua field hari, dan menghitung hari mulai dari 1 untuk Minggu; GitHub Actions dan Kubernetes CronJob memakai lima field standar dalam UTC. Periksa format yang diharapkan platform Anda sebelum menempel.
Menguji pola, bukan jadwal? Coba Regex Tester.
Pertanyaan yang sering diajukan
- Apa arti * * * * * di cron?
- Lima tanda bintang berarti setiap menit dari setiap jam setiap hari. Itu jadwal paling sering yang diizinkan cron standar; yang lebih sering butuh scheduler dengan field detik.
- Bagaimana cara menjalankan cron job setiap 5 menit?
- Gunakan */5 * * * *. Langkah */5 di field menit cocok dengan menit 0, 5, 10, dan seterusnya hingga 55.
- Bagaimana cara menjalankan cron job setiap hari jam 12 malam?
- Gunakan 0 0 * * *, atau pintasan @daily (juga ditulis @midnight). Ingat bahwa tengah malam mengikuti zona waktu server yang menjalankan cron, sering kali UTC.
- Bagaimana cara menjadwalkan cron job hanya di hari kerja?
- Isi 1-5 di field hari, misalnya 0 9 * * 1-5 untuk pukul 09:00 Senin sampai Jumat. MON-FRI juga bisa.
- Di cron, Minggu itu 0 atau 7?
- Keduanya. Cron standar menerima 0 dan 7 untuk Minggu, serta nama SUN sampai SAT. Quartz dan AWS berbeda: keduanya menomori hari 1 sampai 7 dimulai dari Minggu.
- Kenapa cron job saya berjalan di lebih banyak hari dari yang diharapkan?
- Jika Anda mengisi tanggal dan hari sekaligus, cron berjalan saat salah satunya cocok. Isi salah satu field dengan * agar hanya field lainnya yang berlaku.
- Cron memakai zona waktu apa?
- Zona waktu sistem mesin tersebut, kecuali crontab mengatur CRON_TZ atau scheduler punya pengaturan sendiri. Scheduler cloud seperti GitHub Actions memakai UTC.
- Apakah cron mendukung detik?
- Crontab standar tidak; satuan terkecilnya menit. Library seperti node-cron, Spring, dan Quartz menerima field detik tambahan di depan, yang juga dipahami alat ini.