Cara membangun ekspresi cron

· 4 menit baca

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

  1. 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».
  2. Pratinjau eksekusi — generator menampilkan 5 eksekusi berikutnya untuk memverifikasi jadwal sudah benar.
  3. 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

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»).