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
Apa yang dimaksud dengan ekspresi cron?
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'.
Bagaimana cara membuat ekspresi cron untuk jadwal tertentu?
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.
Apa arti tanda bintang (*) dalam cron?
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.
Bagaimana cara menjalankan pekerjaan cron setiap 5 menit atau setiap N jam?
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.
Dapatkah saya menjalankan pekerjaan cron hanya pada hari kerja?
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.
Apa perbedaan antara hari dalam bulan dan hari dalam minggu?
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.
Bagaimana cara membuat ekspresi cron untuk jam kerja saja?
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.
Apa perbedaan antara '0 0 * * *' dan '@daily'?
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.
Dapatkah ekspresi cron menangani perbedaan zona waktu?
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.
Bagaimana cara menguji apakah ekspresi cron saya sudah benar sebelum diterapkan?
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.