Cara menggunakan Generator Cron Expression
- Pilih jadwal umum, atau gunakan Buat jadwal untuk memilih frekuensi, hari dalam minggu, dan waktu, lalu klik Gunakan jadwal ini.
- Atau tempel ekspresi yang sudah ada, misalnya
30 2 * * 1, ke kotak Cron expression — deskripsi dalam bahasa sederhana akan diperbarui saat kamu mengetik. - Sesuaikan bagian tertentu di Ubah field (menit, jam, tanggal, bulan, hari dalam minggu).
- Cek daftar Waktu run berikutnya dalam waktu lokal atau UTC, lalu salin ekspresinya ke crontab, workflow CI, atau scheduler kamu.
Apa itu ekspresi cron?
Ekspresi cron adalah jadwal ringkas yang terdiri dari lima bagian yang dipisahkan spasi. Bagian ini memberi tahu daemon cron Unix, dan alat yang memakai sintaks yang sama seperti GitHub Actions, GitLab CI, Kubernetes CronJobs, Vercel, serta banyak antrean job, kapan sebuah tugas harus dijalankan. Generator ini memungkinkan kamu membuat ekspresi dari dropdown, menjelaskan ekspresi apa pun dalam bahasa sederhana menggunakan pustaka open-source cRonstrue, dan menghitung waktu run berikutnya agar kamu bisa memverifikasi jadwal sebelum dipakai.
Lima bagian
┌──────── minute (0–59)
│ ┌────── hour (0–23)
│ │ ┌──── day of month (1–31)
│ │ │ ┌── month (1–12, JAN–DEC)
│ │ │ │ ┌ day of week (0–6, SUN–SAT)
│ │ │ │ │
* * * * * command
Pada bagian hari dalam minggu, 7 juga berarti Minggu.
Setiap bagian menerima * (setiap nilai), satu angka, rentang 1-5, daftar 1,15,30, langkah */10, atau rentang berlangkah 9-17/2. Beberapa scheduler (Quartz, Spring, AWS EventBridge) menambahkan bagian detik di awal. Centang “Field detik (6 bagian)” untuk bekerja dengan ekspresi 6 bagian.
Contoh
| Ekspresi | Arti |
|---|---|
*/5 * * * * | Setiap 5 menit |
0 * * * * | Di awal setiap jam |
30 2 * * * | Setiap hari pukul 02:30 |
0 9 * * 1-5 | Pukul 09:00 pada hari kerja |
0 0 1 * * | Tengah malam tanggal 1 setiap bulan |
0 0 1 */3 * | Tengah malam pada hari pertama setiap kuartal |
15 14 1 * * | Pukul 14:15 tanggal 1 setiap bulan |
Kesalahan umum
- Tanggal dalam bulan dan hari dalam minggu. Jika kedua bagian dibatasi, cron klasik menjalankan job saat salah satu cocok.
0 0 13 * 5berarti “setiap tanggal 13 dan setiap Jumat”, bukan “Jumat tanggal 13”. Daftar run berikutnya mengikuti aturan ini. - Lupa menit.
* 9 * * *berjalan 60 kali antara pukul 09:00 dan 09:59. Gunakan0 9 * * *untuk berjalan sekali saja. - Zona waktu. Cron memakai zona waktu server, sedangkan GitHub Actions dan sebagian besar scheduler cloud memakai UTC. Ubah daftar run ke UTC untuk membandingkan.
- Langkah yang tidak rata.
*/45di bagian menit berjalan pada :00 dan :45, lalu :00 lagi. Langkah dimulai ulang setiap jam, jadi tidak berlanjut ke jam berikutnya. - Angka hari di Quartz. Quartz menghitung Minggu sebagai 1, sedangkan cron Unix memakai 0 (atau 7). Tool ini memakai penomoran Unix.
Ekstensi non-standar
L di bagian tanggal dalam bulan (hari terakhir bulan), 5L (Jumat terakhir), dan 1#2 (Senin kedua) didukung oleh Quartz dan beberapa implementasi cron, tetapi tidak oleh Vixie cron di Linux. Ekstensi ini dijelaskan dan ditampilkan pratinjaunya di sini, tapi pastikan scheduler kamu menerimanya. Perlu mengubah waktu run menjadi nilai epoch? Coba Unix Timestamp Converter atau Time Zone Converter.
Juga dicari sebagai: generator cron, cron expression generator, penjelas cron, sintaks cron, crontab generator, jadwal cron, cara membuat cron job, parser cron.
Tool yang cocok dipakai bersama Generator Cron Expression
- Generator systemd Service — Jalankan aplikasimu sebagai service Linux yang otomatis start saat boot dan restart saat crash.
- Kalkulator Selisih Tanggal — Hitung jumlah hari di antara dua tanggal, termasuk hari kerja dan rincian tahun/bulan/hari.
- Regex Tester — Ketik pola dan lihat hasil cocok langsung ter-highlight di teks ujimu.
- Formatter HTML — Tempel markup yang berantakan atau sudah di-minify, lalu dapatkan HTML rapi dengan indentasi konsisten — termasuk blok <style> dan <script> di dalamnya.
Pertanyaan yang sering diajukan
Apa arti */15 dalam cron?
*/15 di bagian menit berarti setiap menit ke-15 mulai dari 0, yaitu :00, :15, :30, dan :45. 5-50/15 menghasilkan :05, :20, :35, dan :50.Bagaimana cara menjalankan cron job setiap 30 detik?
*/30 * * * * *), atau tambahkan dua baris crontab di mana baris kedua diawali dengan sleep 30;.Apakah waktu cron memakai UTC atau waktu lokal?
CRON_TZ). GitHub Actions, Kubernetes (secara default), dan sebagian besar scheduler cloud mengevaluasi ekspresi dalam UTC. Daftar run di sini bisa menampilkan keduanya.Apa perbedaan @daily dan 0 0 * * *?
@daily (atau @midnight) adalah singkatan dari 0 0 * * *. Begitu juga @hourly = 0 * * * *, @weekly = 0 0 * * 0, @monthly = 0 0 1 * *, dan @yearly = 0 0 1 1 *.Bagaimana cara menjadwalkan job pada hari terakhir bulan?
L jika scheduler mendukungnya (0 0 L * *), atau jalankan setiap hari pada tanggal 28–31 lalu uji tanggalnya di dalam perintah: 0 0 28-31 * * [ "$(date -d tomorrow +\%d)" = "01" ] && ./job.sh.Kenapa ekspresi saya tidak pernah berjalan?
0 0 31 2 * (31 Februari) atau 0 0 31 4 * (31 April), tidak pernah cocok. Daftar run berikutnya akan menampilkan peringatan jika tidak ada run yang ditemukan dalam sepuluh tahun ke depan.