Cron ifadesi nasıl okunur?
Alanlar soldan sağa dakika, saat, ayın günü, ay ve haftanın günüdür. Görev, tüm alanların o dakikayla eşleştiği her anda çalışır.
* alanın tüm değerlerini, a-b aralığı, a,b,c listeyi gösterir. /n adım değeridir: */15 dakika alanında 0, 15, 30, 45 demektir; 1-10/3 ise 1, 4, 7, 10 olur. Ay için JAN-DEC, gün için SUN-SAT adları kullanılabilir.
Ayın günü ve haftanın günü birlikte kısıtlanırsa cron ikisinden birinin tutmasını yeterli sayar (POSIX). 0 0 1 * MON hem her ayın 1'inde hem de her Pazartesi çalışır.
@daily (0 0 * * *), @hourly (0 * * * *), @weekly (0 0 * * 0), @monthly (0 0 1 * *) ve @yearly (0 0 1 1 *) kısaltmaları da çözülür.
Sonraki çalışma zamanları başlangıç anından (dahil) itibaren Türkiye saatiyle (UTC+3) hesaplanır. Türkiye 2016'dan beri yaz saati uygulamadığı için saat kayması yoktur. Sunucun UTC kullanıyorsa ilk çalışmanın UTC karşılığına bak.
Formül
- Alan sırası
dakika saat ayın-günü ay haftanın-günü- Adım
*/n = min, min + n, min + 2n, … ≤ max- Gün kuralı
iki gün alanı da kısıtlıysa: ayın günü tutar VEYA haftanın günü tutar
Örnek hesap
Aşağıdaki örnek, şu değerlerle (Cron ifadesi: */15 9-17 * * 1-5) hesaplayıcının kendisiyle hesaplanmıştır.
| Adım | Hesap | Değer |
|---|---|---|
| Ayrıştırma | dakika saat ayın-günü ay haftanın-günü (0 ve 7 = Pazar) | */15 9-17 * * 1-5 |
| Başlangıç | bu andan itibaren (dahil), Türkiye saati UTC+3 | 2026-11-02 00:00 |
| Anlamı | Pazartesi-Cuma günleri, her 15 dakikada bir, saatler: 09-17 |
Örneğin tablosu (5 satır)
| Alan | Yazılan | Değerler |
|---|---|---|
| Dakika | */15 | 0, 15, 30, 45 |
| Saat | 9-17 | 9-17 |
| Ayın günü | * | 31 değer |
| Ay | * | 1-12 |
| Haftanın günü | 1-5 | 1-5 |
Kaynaklar
- The Open Group — POSIX.1-2017, crontab (beş alanlı zaman ifadesi) (erişim 31.10.2026)
- crontab(5) kılavuz sayfası — Vixie/cronie uzantıları (adım */n, ay ve gün adları) (erişim 31.10.2026)
Son güncelleme: (içerik ya da kullanılan verinin son değiştiği ya da kontrol edildiği tarih).
Hesaba katılmayanlar
- Saniye alanı olan 6 ya da 7 alanlı biçimler (Quartz, Spring) ve L, W, # gibi özel işaretler desteklenmez.
- Sunucunun saat dilimi ayrıca belirtilmemişse cron sistem saatine göre çalışır; sonuçlar Türkiye saatine göredir. Yaz saati uygulayan bir ülkedeki sunucuda geçiş günlerinde görev atlanabilir ya da iki kez çalışabilir.
- Sistem yoğunluğu, cron servisinin kapalı olması ya da anacron/systemd zamanlayıcı farklılıkları hesaba katılmaz.
Sıkça sorulan sorular
*/5 * * * * ne demek?
Her 5 dakikada bir: her saatin 0, 5, 10, …, 55. dakikalarında çalışır.
Cron her gün gece yarısı nasıl yazılır?
0 0 * * * ya da @daily. Gece 03:00 için 0 3 * * * yazılır.
Hafta içi her sabah 9'da çalıştırmak için ne yazmalıyım?
0 9 * * 1-5. 1 Pazartesi, 5 Cuma'dır. Adlarla 0 9 * * MON-FRI da yazılabilir.
0 ile 7 neden ikisi de Pazar?
Eski Unix sistemleri haftayı Pazar = 0 ile başlatır; bazı uygulamalar 7'yi de Pazar kabul eder. Hesaplayıcı ikisini de Pazar olarak okur.
Cron görevim neden yanlış saatte çalışıyor?
En sık neden saat dilimidir. Bulut sunucuları çoğu zaman UTC kullanır; Türkiye saati UTC+3 olduğu için görev 3 saat erken (yerel saatle) çalışır. timedatectl ile sunucu saat dilimini kontrol et.