Cara membangun ekspresi cron
Ekspresi cron adalah cara standar untuk mendefinisikan jadwal berulang di Linux, platform cloud, pipeline CI/CD, dan penjadwal tugas. Sintaksnya kompak tetapi tidak intuitif — generator visual menunjukkan dengan tepat kapan tugas Anda akan dijalankan.
Sintaks cron
Ekspresi cron memiliki 5 bidang:
┌───────────── menit (0-59)
│ ┌───────────── jam (0-23)
│ │ ┌───────────── hari dalam bulan (1-31)
│ │ │ ┌───────────── bulan (1-12)
│ │ │ │ ┌───────────── hari dalam minggu (0-6, Minggu=0)
│ │ │ │ │
* * * * *
Jadwal cron umum
| Jadwal | Ekspresi | Arti |
|---|---|---|
| Setiap menit | * * * * * |
Berjalan setiap 60 detik |
| Setiap 5 menit | */5 * * * * |
Pada :00, :05, :10, :15... |
| Setiap jam | 0 * * * * |
Pada awal setiap jam |
| Setiap hari pada tengah malam | 0 0 * * * |
Sekali sehari pada 00:00 |
| Setiap hari pukul 9 pagi | 0 9 * * * |
Sekali sehari pada 09:00 |
| Setiap Senin pukul 8 pagi | 0 8 * * 1 |
Mingguan pada hari Senin |
| Tanggal 1 setiap bulan | 0 0 1 * * |
Bulanan pada tengah malam tanggal 1 |
| Hari kerja pukul 6 sore | 0 18 * * 1-5 |
Senin sampai Jumat |
Cara membangun ekspresi cron
- Tentukan jadwal Anda — gunakan kontrol visual untuk memilih nilai menit, jam, hari, bulan, dan hari dalam minggu. Atau mulai dari preset seperti «setiap jam» atau «setiap hari pada tengah malam».
- Pratinjau eksekusi — generator menampilkan 5 eksekusi berikutnya untuk memverifikasi jadwal sudah benar.
- Salin ekspresi — tempel ke crontab Anda, konfigurasi CI/CD, atau penjadwal cloud.
Karakter khusus
| Karakter | Arti | Contoh |
|---|---|---|
* |
Setiap nilai | * * * * * = setiap menit |
*/n |
Setiap n | */15 * * * * = setiap 15 menit |
, |
Beberapa nilai | 0 8,12,18 * * * = pukul 8, siang, 6 sore |
- |
Rentang | 0 9-17 * * * = setiap jam dari 9 pagi hingga 5 sore |
Tips
- Selalu verifikasi eksekusi berikutnya — ekspresi cron mudah salah. Pratinjau menunjukkan dengan tepat kapan tugas akan terpicu, periksa sebelum menerapkan.
- Mulai dari preset — mulai dengan jadwal umum seperti «harian» atau «per jam» dan sesuaikan alih-alih menulis dari nol.
- Perhatikan zona waktu — jam cron berada di zona waktu sistem (umumnya UTC di server). Jika Anda menginginkan pukul 9 pagi WIB, itu adalah
0 2 * * *di UTC. - Uji dengan interval pendek — saat menyiapkan cron baru, uji dengan
*/5 * * * *(setiap 5 menit) untuk mengonfirmasi cara kerjanya, lalu beralih ke jadwal final.
Pertanyaan yang sering diajukan
Apa format ekspresi cron?
Ekspresi cron standar memiliki 5 bidang yang dipisahkan dengan spasi, mewakili menit (0-59), jam (0-23), hari dalam bulan (1-31), bulan (1-12), dan hari dalam minggu (0-6, di mana 0 adalah Minggu). Tanda bintang (*) berarti «setiap» nilai untuk bidang itu.
Apa arti */5 di cron?
Sintaks */5 berarti «setiap 5». Di bidang menit, */5 berarti setiap 5 menit (0, 5, 10, 15...). Di bidang jam, */5 berarti setiap 5 jam. Ini berfungsi di bidang mana pun.
Apakah ekspresi cron sama di semua platform?
Format 5 bidang adalah standar di Linux cron, AWS EventBridge, GitHub Actions, dan sebagian besar sistem penjadwalan. Beberapa platform menambahkan bidang ke-6 untuk detik atau tahun. Periksa dokumentasi platform Anda.
Bagaimana menjadwalkan untuk hari terakhir setiap bulan?
Cron standar tidak memiliki kata kunci «hari terakhir». Gunakan solusi seperti eksekusi harian dengan pemeriksaan tanggal di skrip Anda, atau gunakan ekstensi khusus platform (AWS EventBridge mendukung L untuk «last»).