Summary

Generator ekspresi cron ini mengubah deskripsi jadwal atau string cron yang ditempel menjadi ekspresi 5-field yang tervalidasi: menit, jam, hari dalam bulan, bulan, dan hari dalam minggu. Pilih preset umum seperti setiap 5 menit atau hari kerja pukul 9 pagi, atau edit setiap field langsung dengan dukungan daftar, rentang, dan nilai langkah. Tool ini menampilkan deskripsi jadwal dalam bahasa yang jelas dan menghitung lima waktu eksekusi berikutnya dalam UTC, menggunakan logika OR yang sama untuk field hari-dalam-bulan dan hari-dalam-minggu seperti vixie-cron dan Kubernetes CronJob, sehingga apa yang Anda lihat di sini cocok dengan apa yang benar-benar dieksekusi di produksi.

Generator Ekspresi Cron untuk Job Terjadwal dan Jendela Rollout

Buat ekspresi cron 5-field dari preset, atau tempel satu untuk memverifikasinya. Dapatkan deskripsi bahasa sederhana dan lima waktu eksekusi berikutnya sebelum jadwal dijalankan.

Generator ekspresi cron

Pilih field atau preset di bawah. Ekspresi, deskripsi bahasa sederhana, dan lima waktu eksekusi berikutnya diperbarui saat Anda mengetik.

0 9 * * 1-5

Di balik layar

Cara kerja generator ekspresi cron ini

Lima field, sintaks standar

Menit, jam, hari dalam bulan, bulan, dan hari dalam minggu: field yang sama yang dibaca oleh crontab, GitHub Actions schedule, dan Kubernetes CronJob. Rentang (9-17), daftar (1,15,30), langkah (*/5), dan wildcard diurai dengan cara yang sama seperti di produksi.

Field hari menggunakan OR, bukan AND

Atur hari-dalam-bulan ke 1 dan hari-dalam-minggu ke Senin, dan job dijalankan pada hari pertama bulan atau pada hari Senin apa pun, bukan hanya saat keduanya bertepatan. Begitulah cara vixie-cron dan Kubernetes CronJob benar-benar mengevaluasinya, dan itu adalah detail yang paling sering dilewatkan oleh generator lain.

Lima waktu eksekusi berikutnya, dihitung secara langsung

Setiap pengeditan menghitung ulang lima timestamp UTC dengan berjalan maju melalui kalender sebenarnya, sehingga jadwal yang tidak pernah bisa dijalankan, seperti hari 30 di Februari, ditampilkan kosong di sini alih-alih diam di crontab.

Tempel untuk memverifikasi, bukan hanya untuk membangun

Sudah memiliki string cron dari rekan kerja, manifest CronJob, atau jawaban Stack Overflow lama? Tempel ke field dan dapatkan deskripsi dan waktu eksekusi yang sama, tidak perlu validator terpisah.

Cara menggunakannya

Dari field kosong ke jadwal yang Anda percayai

  1. 1

    Mulai dari preset

    Pilih jadwal umum (setiap 5 menit, hari kerja pukul 9 pagi, bulanan pada hari pertama), atau biarkan default dan sesuaikan dari sana.

  2. 2

    Sesuaikan field yang penting

    Gunakan dropdown quick-pick atau ketik langsung: daftar koma, tanda hubung untuk rentang, dan */N untuk langkah semuanya bekerja di setiap field.

  3. 3

    Konfirmasi sebelum Anda menjalankannya

    Baca deskripsi bahasa sederhana dan periksa lima waktu eksekusi berikutnya terhadap jendela pemeliharaan atau budget SLO Anda, lalu salin ekspresi ke crontab, jadwal CI, atau manifest CronJob Anda.

Detail implementasi

Mengapa field hari-dalam-bulan dan hari-dalam-minggu menggunakan logika OR

POSIX/vixie-cron, implementasi di balik crontab Linux dan Kubernetes CronJob, memiliki aturan aneh yang sebagian besar orang tidak pernah baca sepenuhnya. Jika kedua field hari-dalam-bulan dan hari-dalam-minggu dibatasi dari *, job dijalankan ketika salah satu cocok, bukan hanya saat keduanya cocok. Atur hari-dalam-bulan ke 1 dan hari-dalam-minggu ke Senin, dan jadwal berjalan pada tanggal pertama bulan dan setiap Senin, bukan hanya pada hari Senin yang kebetulan jatuh pada tanggal pertama. Biarkan salah satu field sebagai *, dan hanya yang dibatasi yang mengontrol hari. Generator ini mengikuti konvensi itu karena itulah yang benar-benar menjalankan crontab Anda, bukan versi yang disederhanakan. Ini paling penting untuk jenis jadwal yang ditulis tim platform di jam 11 malam: jalankan ini pada hari bisnis pertama, atau hari pertama bulan, mana pun yang duluan, terlihat seperti AND untuk sebagian besar orang dan berperilaku seperti OR di produksi.

  • POSIX/vixie-cron (crontab Linux, Kubernetes CronJob): OR setelah salah satu field hari dibatasi
  • Quartz cron (umum di scheduler berbasis Java): biasanya memerlukan salah satu dari dua field hari untuk tetap sebagai ? alih-alih *, menghindari ambiguitas sepenuhnya
  • Generator ini mengikuti konvensi POSIX/vixie-cron, karena itulah yang benar-benar dijalankan oleh crontab dan CronJob
Makro tampilan wajah jam analog dengan gigi di depan server rack yang buram

Pertanyaan umum

Apakah generator cron ini gratis?
Ya. Tool ini berjalan sepenuhnya di browser Anda, tanpa akun, tanpa batas kecepatan, dan tidak ada data yang dikirim ke mana pun kecuali beacon penelusuran halaman anonim.
Zona waktu apa yang ditampilkan untuk waktu eksekusi berikutnya?
UTC. Sebagian besar crontab, jadwal GitHub Actions, dan resource Kubernetes CronJob menggunakan UTC atau waktu sistem kontainer sebagai default, jadi ini menghindari kesalahan konversi zona waktu. Konfirmasi zona waktu sistem Anda sendiri sebelum mengandalkan menit yang tepat.
Mengapa hari-dalam-bulan 1 dan hari-dalam-minggu Senin dijalankan pada keduanya, bukan hanya saat mereka bertepatan?
Karena begitulah cara cron sendiri bekerja. Implementasi vixie-cron standar, termasuk crontab Linux dan Kubernetes CronJob, mengevaluasi dua field tersebut dengan logika OR setelah salah satu dibatasi dari *. Tool ini mencocokkan perilaku itu dengan sengaja.
Apakah ini mendukung @daily, @reboot, atau macro shortcut lainnya?
Tidak, hanya lima field numerik standar, karena itulah yang paling banyak diperlukan oleh orchestrator. @daily memetakan ke 0 0 * * *, @hourly ke 0 * * * *, dan @weekly ke 0 0 * * 0.
Apakah jadwal saya dikirim ke server?
Tidak. Parsing, deskripsi bahasa sederhana, dan perhitungan waktu eksekusi berikutnya semua berjalan di sisi klien. Tidak ada data field yang Anda ketik yang ditransmisikan atau disimpan.
Apakah perhitungan waktu eksekusi berikutnya memperhitungkan waktu musiman?
Tidak, semuanya dihitung dalam UTC, yang tidak memiliki DST. Jika sistem yang menjalankan daemon cron Anda menggunakan waktu lokal dengan DST, periksa offset secara terpisah sekitar tanggal transisi dua kali setahun.
Bisakah saya mengetik nama bulan atau nama hari minggu alih-alih angka?
Ya. jan sampai dec dan sun sampai sat berfungsi di field bulan dan hari-dalam-minggu bersama dengan rentang numerik 1-12 dan 0-6, termasuk dalam rentang dan daftar.

Job cron dijalankan. Apa yang membatasi deploy yang dipicunya?

upstreamapi mengikat rollout feature-flag ke budget SLO, sehingga deploy yang dipicu cron dapat auto-rollback sebelum pager berbunyi, bukan sesudahnya.