Cron ifadesi nasıl yazılır: alanlar, örnekler ve test
Cron ifadesi, benzeri Unix sistemlerine bir işin ne zaman çalışacağını söyleyen beş alanlı bir dizedir: her gece 3'te, her 15 dakikada bir ya da her ayın ilk gününde. Sunucular yedekleri, raporları, temizlikleri ve veri eşitlemelerini böyle planlar.
Cron ifadesinin beş alanı
Soldan sağa alanlar: dakika (0–59), saat (0–23), ayın günü (1–31), ay (1–12) ve haftanın günü (0–7; burada hem 0 hem 7 Pazar'dır). Her alan bir sayı, 1,3,5 gibi bir liste, 1–5 gibi bir aralık, */15 gibi bir adım veya bunların karışımını kabul eder. Yalnızca yıldız işareti herhangi bir değer demektir.
Yani 0 3 * * * ifadesi; her gün, her ay, her haftanın gününde saat 3'ün 0. dakikası — başka bir deyişle her gün 03:00 demektir. Alanlar VE mantığıyla birleşir: bir değer tetiklenmesi için tüm yıldız olmayan alanlarla eşleşmelidir.
- `0 3 * * *` — her gün 03:00'da.
- `*/15 * * * *` — her 15 dakikada bir.
- `0 9 * * 1–5` — yalnızca hafta içi 09:00'da.
- `30 2 1 * *` — her ayın 1'inde 02:30'da.
Yaygın cron kalıpları
Çoğu zamanlama birkaç kalıpla karşılanır. Saat başı her saat: 0 * * * *. Her Pazar gece yarısı: 0 0 * * 0. Altı saatte bir: 0 */6 * * *. Her Pazartesi 08:15'te: 15 8 * * 1.
Neredeyse herkesi yakalayan iki detay vardır. Bazı uygulamalar haftanın gününü Pazar 7 olacak şekilde 0–6 olarak ele alır ve birçok sistem hem ayın günü hem haftanın günü eşleştiğinde çalışır; yani iki alanı birlikte kullanmak çoğu zaman beklentiyi karşılamaz.
Zamanlamadan önce test edin
Cron ifadesi yazması kolay, yanlış yazması kolaydır: tek bir karakter gecelik görevi saatlik yapar ve uyarı gelene kadar yük artışını görürsünüz. İfadeyi yayına almadan önce Cron İfade Testi'ne koyun.
Araç her alanı ayrı ayrı doğrulular, zamanlamanın gerçekte ne anlama geldiğini sade dille açıklar ve sonraki beş çalışma zamanını basar. Beş zaman damgası gerçek testtir — okuyun ve tam da kastettiğiniz anlar olduğunu onaylayın, sonra ifadeyi güvenle kaydedin.
- İfadeyi alan alan doğrulayın.
- Zamanlamanın sade dildeki açıklamasını okuyun.
- Sonraki beş çalışma zamanını niyetinizle karşılaştırın.
- Saat dilimine dikkat edin: cron tarayıcı saatinizle değil sunucu saatiyle çalışır.

