Generator & Penjelas Cron Expression

Buat jadwal crontab tanpa perlu menghafal sintaksnya, atau tempel ekspresi yang sudah ada untuk melihat artinya dalam bahasa sederhana dan kapan tepatnya akan berjalan berikutnya.

Diperbarui

Setiap 15 menit, antara pukul 09:00 dan 17:59, Senin sampai Jumat

Jadwal umum

Buat jadwal

Pada

Waktu run berikutnya

    Ubah field

    0–59
    0–23
    1–31, L
    1–12, JAN–DEC
    0–6, SUN–SAT

    Sintaks: * apa saja · 5 nilai · 1-5 rentang · 1,15 daftar · */10 langkah · 8-18/2 rentang berlangkah · makro @hourly @daily @weekly @monthly @yearly.

    Data kamu tidak pernah meninggalkan komputer kamu. Semua proses berjalan 100% secara lokal di browser kamu.

    Apakah alat ini membantu?0.0 0 penilaian
    Buat file systemd .service untuk menjalankan app NodePython, Go, atau skrip sebagai service Linux: restart, user, environment, sandboxing, dan .timer.Generator systemd Service →

    Cara menggunakan Generator Cron Expression

    1. Pilih jadwal umum, atau gunakan Buat jadwal untuk memilih frekuensi, hari dalam minggu, dan waktu, lalu klik Gunakan jadwal ini.
    2. Atau tempel ekspresi yang sudah ada, misalnya 30 2 * * 1, ke kotak Cron expression — deskripsi dalam bahasa sederhana akan diperbarui saat kamu mengetik.
    3. Sesuaikan bagian tertentu di Ubah field (menit, jam, tanggal, bulan, hari dalam minggu).
    4. 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

    EkspresiArti
    */5 * * * *Setiap 5 menit
    0 * * * *Di awal setiap jam
    30 2 * * *Setiap hari pukul 02:30
    0 9 * * 1-5Pukul 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 * 5 berarti “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. Gunakan 0 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. */45 di 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?
    Tanda garis miring adalah langkah. */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?
    Cron standar 5 bagian tidak bisa berjalan di bawah satu menit. Gunakan scheduler 6 bagian yang mendukung detik (*/30 * * * * *), atau tambahkan dua baris crontab di mana baris kedua diawali dengan sleep 30;.
    Apakah waktu cron memakai UTC atau waktu lokal?
    Cron klasik memakai zona waktu sistem server (sebagian versi mendukung variabel 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 * * *?
    Tidak ada perbedaan. @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?
    Unix cron biasa tidak punya nilai “hari terakhir”. Kamu bisa memakai 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?
    Tanggal yang tidak mungkin, seperti 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.
    Bisakah saya memasang Generator Cron Expression sebagai aplikasi web dan memakainya offline?
    Bisa. Generator Cron Expression adalah aplikasi web (PWA) yang bisa dipasang. Pemasangannya lewat browser kamu, bukan diunduh dari toko aplikasi. Klik Pasang aplikasi di bagian atas halaman ini di Chrome atau Edge (Windows, macOS, Linux, ChromeOS) atau di Android. Di iPhone dan iPad, gunakan Bagikan → Tambahkan ke Layar Utama, dan di Safari 17+ pada Mac, gunakan File → Tambahkan ke Dock. Setelah itu, aplikasi akan terbuka di jendelanya sendiri dengan ikonnya sendiri. Karena berjalan sepenuhnya di browser kamu, aplikasi ini tetap bisa dipakai offline. Firefox di desktop tidak bisa memasang aplikasi web. Cara memasang aplikasi.

    Tool terkait