Pengurai Ekspresi Cron

Mengurai ekspresi cron dan melihat penjelasan yang dapat dibaca manusia tentang kapan ekspresi tersebut dijalankan. Sempurna untuk pengembang dan administrator sistem yang perlu membuat atau memahami jadwal pekerjaan cron. Hindari kesalahan penjadwalan dengan memvisualisasikan secara tepat kapan ekspresi cron Anda akan dijalankan.

Pertanyaan yang Sering Diajukan

Ekspresi cron adalah sebuah string dari 5 atau 6 bidang yang mendefinisikan jadwal untuk tugas-tugas otomatis dalam sistem seperti Unix. Bidang-bidang tersebut mewakili: menit (0-59), jam (0-23), hari dalam bulan (1-31), bulan (1-12), dan hari dalam minggu (0-7, di mana 0 dan 7 adalah hari Minggu). Sebagai contoh, '0 9 * * 1' berarti 'lari pada pukul 9:00 setiap hari Senin'.

Mulailah dengan lima tanda bintang (* * * * *) yang mewakili menit, jam, hari, bulan, hari kerja. Ganti tanda bintang dengan nilai atau rentang tertentu. Sebagai contoh: '30 14 * * *' berjalan pada pukul 14:30 setiap hari, '0 0 1 * *' berjalan pada tengah malam setiap tanggal 1 setiap bulan, '*/15 * * *' berjalan setiap 15 menit. Gunakan pengurai kami untuk memverifikasi ekspresi Anda sesuai dengan yang Anda harapkan.

Tanda bintang berarti 'setiap' atau 'apa saja' untuk unit waktu tersebut. Misalnya, * pada kolom jam berarti setiap jam, * pada kolom hari berarti setiap hari. Jadi '0 * * * *' berarti 'pada menit ke 0 setiap jam' (setiap jam), sedangkan '* * * * *' berarti 'setiap menit'. Ini adalah wildcard yang cocok dengan semua nilai yang mungkin untuk bidang tersebut.

Gunakan sintaks nilai langkah: */N. Untuk setiap 5 menit: '*/5 * * * *'. Untuk setiap 3 jam: '0 */3 * * *'. Sintaks */N berarti 'setiap nilai ke-N' - jadi */5 di kolom menit berarti menit ke 0, 5, 10, 15, dst. Anda juga dapat menggunakan rentang dengan langkah-langkah seperti '0-30/5' untuk setiap 5 menit selama setengah jam pertama.

Ya! Gunakan 1-5 pada kolom hari dalam seminggu (kolom ke-5). Sebagai contoh, '0 9 * * 1-5' berjalan pada pukul 9 pagi hari Senin sampai Jumat. Senin adalah 1 dan Jumat adalah 5. Anda juga dapat mencantumkan hari tertentu: '0 9 * * 1,3,5' beroperasi pada pukul 9 pagi pada hari Senin, Rabu, dan Jumat saja.

Ini adalah dua cara yang berbeda untuk menentukan hari apa saja pekerjaan dijalankan. Hari dalam bulan (bidang ke-3) menggunakan tanggal 1-31, sedangkan hari dalam minggu (bidang ke-5) menggunakan 0-7 (0 dan 7 adalah hari Minggu). Jika keduanya ditentukan (bukan *), pekerjaan akan berjalan ketika salah satu kondisi cocok. Sebagai contoh, '0 0 1 * 1' berjalan pada tengah malam pada tanggal 1 setiap bulan DAN setiap hari Senin.

Untuk pukul 9 pagi hingga 5 sore pada hari kerja: '0 9-17 * * 1-5' berjalan di awal setiap jam. Untuk setiap 30 menit selama jam kerja: '*/30 9-17 * * 1-5'. Rentang jam 9-17 mencakup pukul 9 pagi hingga 5 sore, dan 1-5 membatasi eksekusi pada hari Senin hingga Jumat.

Keduanya setara - keduanya berjalan pada tengah malam setiap hari. Banyak implementasi cron yang mendukung string khusus seperti @daily, @hourly, @monthly, @monthly, dan @yearly sebagai pintasan. Ini lebih mudah dibaca tetapi kurang fleksibel dibandingkan ekspresi penuh. Gunakan pintasan untuk interval umum dan ekspresi lengkap untuk jadwal khusus.

Ekspresi cron standar berjalan berdasarkan waktu sistem server. Untuk menangani zona waktu, atur zona waktu server Anda dengan benar atau hitung perbedaan waktu. Beberapa implementasi cron tingkat lanjut mendukung spesifikasi zona waktu, tetapi format 5-bidang dasar tidak menyertakan informasi zona waktu.

Gunakan Parser Ekspresi Cron kami untuk memverifikasi ekspresi Anda menunjukkan deskripsi jadwal yang diharapkan. Parser menjelaskan dalam bahasa Inggris sederhana kapan pekerjaan Anda akan berjalan, membantu Anda menangkap kesalahan seperti '0 9 31 2 *' (31 Februari tidak ada) sebelum diterapkan ke produksi.