Generator ekspresi cron
Tulis jadwal cron dan lihat persis kapan jadwal itu jalan.
10 kali jalan berikutnya
Contekan sintaks cron
| Field | Nilai yang diizinkan |
|---|---|
| Menit | 0-59 |
| Jam | 0-23 |
| Tanggal | 1-31 |
| Bulan | 1-12 atau JAN-DEC |
| Hari dalam minggu | 0-6 atau SUN-SAT (7 juga hari Minggu) |
| Simbol | Arti |
|---|---|
* | Semua nilai |
, | Daftar nilai, seperti 1,15 |
- | Rentang, seperti 1-5 |
/ | Step, seperti */15 untuk tiap kelipatan 15 |
Jalan di browser kamu. Apa pun yang kamu ketik tidak dikirim ke mana pun.
- Penjelasan bahasa biasa
- 10 kali jalan berikutnya
- Preset untuk job umum
Cara menulis ekspresi cron
- Pilih preset, atau ketik ekspresi dengan lima field.
- Sesuaikan field tunggal di kotak-kotak di bawahnya.
- Cek penjelasannya dan waktu jalan berikutnya, lalu salin ekspresinya.
Jadwal cron yang umum dipakai
| Jadwal | Ekspresi | Arti |
|---|---|---|
| Setiap menit | * * * * * | Jalan 60 kali per jam |
| Setiap 5 menit | */5 * * * * | Di :00, :05, :10, dan seterusnya |
| Setiap jam 2 pagi | 0 2 * * * | Sekali tiap 24 jam |
| Hari kerja jam 9 pagi | 0 9 * * 1-5 | Cuma Senin sampai Jumat |
| Tanggal 1 tiap bulan | 0 0 1 * * | Tengah malam di tanggal 1 |
| Setiap 6 jam | 0 */6 * * * | Tengah malam, jam 6 pagi, siang, jam 6 sore |
Bagaimana cron berbeda antar sistem
Format 5 field di bawah ini adalah yang dibuat generator ini, dan ini juga yang langsung dipakai kebanyakan job scheduler.
| Sistem | Jumlah field | Catatan |
|---|---|---|
| Cron / crontab standar | 5 | Menit, jam, tanggal, bulan, hari dalam minggu |
| Kubernetes CronJob | 5 | Format sama, ditulis sebagai string di YAML |
| GitHub Actions | 5 | Diatur di on.schedule.cron, selalu jalan dalam UTC |
| Quartz (Java) | 6 atau 7 | Menambahkan field detik sebelum menit |
| AWS EventBridge | 6 | Menambahkan field tahun dan memakai ? untuk tanggal atau hari dalam minggu |
Salin ekspresi dari sini ke jadwal Quartz atau AWS lalu tambahkan field ekstra yang dibutuhkannya; posisi menit, jam, tanggal, bulan, dan hari dalam minggu tetap sama.
Tips menulis jadwal cron
- Lebih baik pakai step daripada daftar panjang: */15 * * * * lebih singkat dan jelas dibanding 0,15,30,45 * * * *.
- Mengatur tanggal dan hari dalam minggu sekaligus membatasi lebih sedikit dari yang terlihat: cron standar menjalankan job saat salah satu cocok, bukan hanya saat keduanya cocok.
- Uji jadwalnya di sini dulu sebelum ditempel ke server. Satu field yang salah bisa mengubah job harian jadi job yang jalan tiap menit.
- Server biasanya menjalankan cron dalam UTC. Daftar jalan berikutnya di atas ditampilkan dalam zona waktu kamu sendiri, jadi konversikan dulu sebelum menganggap sebuah job jalan tepat waktu.
FAQ Generator ekspresi cron
Apa arti lima field dalam ekspresi cron?
Dari kiri ke kanan: menit (0-59), jam (0-23), tanggal (1-31), bulan (1-12), dan hari dalam minggu (0-6, di mana 0 adalah Minggu). Tanda bintang berarti semua nilai, jadi * * * * * jalan setiap menit.
Bagaimana cara menjalankan cron job setiap 5 menit?
Pakai */5 * * * *. /5 berarti setiap kelipatan lima, jadi jalan di menit ke-0, 5, 10, dan seterusnya, di setiap jam setiap hari.
Apa yang terjadi kalau aku set tanggal dan hari dalam minggu sekaligus?
Cron standar menjalankan job saat salah satu dari keduanya cocok. 0 0 1 * 1 jalan tengah malam pada tanggal 1 tiap bulan dan juga setiap hari Senin.
Zona waktu mana yang dipakai cron?
Zona waktu server yang menjalankannya, yang sering kali UTC. Waktu jalan di halaman ini ditampilkan dalam zona waktu kamu sendiri, jadi konversikan dulu kalau server kamu diatur berbeda.
Apakah format ini jalan untuk Kubernetes, GitHub Actions, Quartz, atau AWS?
Kubernetes CronJob dan jadwal GitHub Actions memakai format 5 field yang sama ini. Quartz menambahkan field detik, dan AWS EventBridge menambahkan field tahun serta memakai ? di salah satu field tanggal, jadi keduanya perlu disesuaikan.
Bagaimana cara menjalankan job hanya di hari kerja atau hanya di akhir pekan?
Set hari dalam minggu ke 1-5 untuk Senin sampai Jumat, atau 0,6 untuk Sabtu dan Minggu. Biarkan tanggal dan bulan tetap * supaya tidak membatasi apa pun lagi.
Apa arti shortcut seperti @daily dan @hourly?
Itu adalah macro yang diterima sebagian implementasi cron sebagai pengganti lima field. @hourly adalah 0 * * * *, @daily adalah 0 0 * * *, @weekly adalah 0 0 * * 0, @monthly adalah 0 0 1 * *, dan @yearly adalah 0 0 1 1 *. Ketik salah satunya di kotak ekspresi di sini dan otomatis diperluas.