Cron zamanlamalarını oluştur, çöz ve sonraki çalışmaları önizle.
Son güncelleme
Hazır Ayarlar
İfade
Dakika*/15
Saat*
Ayın günü*
Ay*
Haftanın günü*
Sade DilGeçerli
Her 15 dakikada
Sonraki 5 çalışma (yerel saat)
12026-04-26 21:45 Sun
22026-04-26 22:00 Sun
32026-04-26 22:15 Sun
42026-04-26 22:30 Sun
52026-04-26 22:45 Sun
Cron expression nedir?
Cron expression, tekrar eden bir zamanlamayı anlatmanın en kısa yoludur. Linux'un orijinal zamanlayıcısı olan Unix cron ile aynı söz dizimini kullanır ve karşınıza çıkacak hemen her job runner'a yayılmıştır: Kubernetes CronJob'lar, GitHub Actions schedule'ları, AWS EventBridge, Cloudflare Workers, Vercel cron ve çoğu CI/CD platformu.
Format ilk bakışta gözünüzü korkutsa da aslında boşlukla ayrılmış sadece beş alandan oluşur: dakika, saat, ayın günü, ay, haftanın günü. Her alan ya bir sayı, ya bir liste (1,15), ya bir aralık (9-17), ya bir adım (*/5) ya da joker (*) olur. İyi bir cron aracı, ifadeyi sade Türkçeye çevirir ve sonraki tetiklenme zamanlarını gösterir; böylece deploy etmeden önce kontrol edebilirsiniz.
Bazı platformlar 5 alanlık temel söz dizimine başa bir *saniye* alanı (Quartz, Spring, Kubernetes 6 alanlı) ya da sona bir *yıl* alanı ekler. Bir ifadeyi yapıştırmadan önce zamanlayıcınızın hangi formatı kabul ettiğini mutlaka kontrol edin.
Cron zamanlaması yazarken öğrenecekleriniz
Standart bir cron expression 5 alandan oluşur: dakika, saat, ayın günü, ay, haftanın günü.
* o alan için "her değer" anlamına gelir — bir zamanlamanın beklenenden daha sık tetiklenmesinin en yaygın nedenidir.
*/N "her N birimde bir" demektir — dakika alanındaki */5 "her 5 dakikada bir" anlamına gelir.
Adım adım cron expression nasıl yazılır
1
Bir hazır şablonla başlayın
İstediğinize en yakın şablonu seçin — Her dakika, Saatlik, Her gün 09:00'da, Hafta içi 09:00'da, Aylık. İfade editörde belirir.
2
Her alanı ayarlayın
Dakika, saat, ayın günü, ay ve haftanın günü alanlarını düzenleyin. Herhangi bir değer için *, virgüllü liste, aralık (9-17) veya adım (*/15) kullanabilirsiniz.
3
Sade Türkçe açıklamayı okuyun
Araç, ifadenizi bir cümleye çevirir (Hafta içi her gün saat 09:00'da). Cümle istediğiniz şeyle örtüşmüyorsa ifade yanlıştır.
4
Sonraki tetiklenmeleri önizleyin
Sonraki 5–10 çalışma zamanını yerel saatinizde doğrulayın. Zamanlama yaz saati geçişine yakınsa bu duruma dikkat edin.
5
Zamanlayıcınıza kopyalayın
İfadeyi crontab'inize, GitHub Actions workflow'una, Kubernetes CronJob'a ya da kullandığınız zamanlayıcıya yapıştırın.
Cron alanları hızlı referans
Standart bir cron expression'ın beş alanı, sırasıyla. Kaynak: POSIX crontab(5) man sayfası.
Sıra
Alan
Aralık
Özel karakterler
1
Dakika
0–59
*,-/
2
Saat
0–23
*,-/
3
Ayın günü
1–31
*,-/? (bazı dialektlerde)
4
Ay
1–12 veya JAN–DEC
*,-/
5
Haftanın günü
0–6 (Paz=0) veya SUN–SAT
*,-/
Deneyebileceğiniz cron expression örnekleri
Her 5 dakikada bir
İfade
*/5 * * * *
Şu anlama gelir
Her 5 dakikada bir — saatin başında ve sonrasındaki her 5 dakikada.
Adım değerleri (*/5), her sayıyı tek tek listelemeden "her N"yi ifade etmenin en kolay yoludur. Sağlık kontrolleri ve polling job'ları için sık kullanılır.
Hafta içi 09:00'da
İfade
0 9 * * 1-5
Şu anlama gelir
Pazartesiden cumaya her gün saat 09:00'da.
Haftanın günü için 1-5 aralığı Pazartesi–Cuma demektir. Mesai saati hatırlatmaları ve yalnızca hafta içi çıkan özetler için idealdir.
Her ayın ilk günü gece yarısı
İfade
0 0 1 * *
Şu anlama gelir
Her ayın 1'inde saat 00:00'da.
Ayın günü için 1, diğer alanlar için * size gerçek anlamda aylık bir job verir. Faturalama, raporlama ve rotasyon işleri için yaygındır.
Hafta içi mesai saatlerinde, saatte iki kez
İfade
0,30 9-17 * * 1-5
Şu anlama gelir
Pazartesiden cumaya, 09:00 ile 17:00 arasında, 0. ve 30. dakikalarda.
Virgüllü liste (0,30), aralık (9-17) ve hafta içi günler bir arada. Yalnızca mesai saatlerinde önemli olan bir BI yenilemesi ya da kuyruk boşaltma işi için tipik bir zamanlamadır.
Yaygın cron hataları
Saat dilimini unutmak. Çoğu cron daemon'u sizin değil, *sunucunun* saat diliminde tetiklenir. Platform destekliyorsa saat dilimini açıkça belirtin.
Hem ayın gününü hem haftanın gününü ayarlamak. Klasik Unix cron'da zamanlama bunlardan *herhangi birine* uyan günde çalışır — bu çoğu insanı ilk seferde şaşırtır.
*/45 yazıp her 45 dakikada bir tetikleneceğini sanmak. Adım değerleri 0'dan başlayarak hesaplanır, yani */45 saatin 0. ve 45. dakikalarında tetiklenir — gerçek 45 dakikalık aralıklarla değil.
Cron Expression SSS
Cron expression nasıl yazılır?
Standart bir cron expression, boşlukla ayrılmış beş alandan oluşur: dakika, saat, ayın günü, ay, haftanın günü. *Her değer* için *, kesin bir değer için sayı, virgüllü liste (1,15), aralık (9-17) veya adım (*/5) kullanın.
*/5 * * * * ne anlama gelir?
"Her 5 dakikada bir" demektir. Dakika alanındaki */5, 0. dakikadan başlayarak her 5 dakikada bir tetiklenir — 0, 5, 10, 15, …, 55 — ve diğer her alandaki * ifadenin her saat, her gün, her ay ve haftanın her günü çalışacağı anlamına gelir.
Cron hangi saat dilimini kullanır?
Varsayılan olarak cron, çalıştığı sistemin saat dilimini kullanır. Çoğu bulut zamanlayıcısı saat dilimini açıkça ayarlamanıza izin verir (TZ=Europe/Istanbul, AWS schedule expression'lar vb.). Şüpheniz varsa zamanlamaları UTC'de saklayın.
Bir cron expression saniyede bir çalışabilir mi?
Standart 5 alanlı cron'da en küçük birim dakikadır, dolayısıyla en yüksek çözünürlük dakikada birdir. Quartz cron, Spring cron ve bazı Kubernetes sürümleri, dakika altı zamanlamalar için 6. bir *saniye* alanı ekler.
0 0 * * 0 ile 0 0 * * 7 arasındaki fark nedir?
İkisi de Pazar gece yarısını ifade eder. Çoğu cron uygulamasında haftanın günü 0–6 (Paz–Cmt) aralığındadır, ancak 7 de bazı dialektlerle uyumluluk için Pazar olarak kabul edilir.