Beş alan
Bir cron ifadesi, bir zamanlayıcıya bir işin ne zaman çalışacağını söyleyen, boşluklarla ayrılmış beş alandır:
Soldan sağa sırayla:
| Dakika | 0-59 |
| Saat | 0-23 |
| Ayın günü | 1-31 |
| Ay | 1-12 |
| Haftanın günü | 0-6 (pazar = 0) |
İş, şu anki zaman her alanla eşleştiğinde çalışır.
Özel karakterler
*herhangi bir değer.,bir liste:1,15ayın 1’i ve 15’idir.-bir aralık: son alanda1-5pazartesiden cumaya demektir./bir adım: dakika alanında*/10her 10 dakikada bir demektir.
Yaygın zamanlamalar
*/5 * * * * | Her 5 dakikada |
0 * * * * | Her saat başı |
0 0 * * * | Her gün gece yarısı |
30 8 * * 1-5 | Hafta içi 08:30’da |
0 0 1 * * | Her ayın 1’inde gece yarısı |
0 3 * * 0 | Her pazar 03:00’te |
Herhangi bir ifadeyi sade sözcüklerle okumak ve sonraki çalışma zamanlarını görmek için Cron ifadesi açıklayıcıya yapıştır.
Sık yapılan hatalar
- Saat dilimi: cron sunucunun saatini kullanır; bu çoğu zaman UTC’dir. Türkiye saatiyle 09:00 için UTC sunucuda saat alanına 6 yaz.
- Ayın günü ve haftanın günü birlikte: ikisi de ayarlıysa iş, ikisi birden değil herhangi biri eşleştiğinde çalışır.
- Saniye: standart cron’da saniye alanı yoktur. Quartz ve Spring gibi bazı sistemler başa bir tane ekleyerek altı alan yapar.
Göründüğü gibi işlemeyen ifadeler
| İfade | Amaçlanan | Gerçekte çalıştığı zaman |
|---|---|---|
0 9 1-7 * 1 | İlk pazartesi 09.00 | 1’den 7’ye kadar her gün 09.00 ve her pazartesi |
*/15 9-17 * * 1-5 | 9’dan 5’e her 15 dakikada | Hafta içi 09.00–17.45, 17.00 saati dahil |
0 0 31 * * | Ayın son günü | Yalnızca 31 günlü yedi ayda |
0 0 29 2 * | Yılda bir | Yalnızca artık yıllarda |
İlk pazartesi için 1’den 7’ye kadar günlerde çalıştır ve haftanın gününü betiğin içinde kontrol et.
Kısayollar
Birçok cron sürümü takma adları kabul eder: @hourly, @daily, @weekly, @monthly, @yearly ve makine başladığında bir kez çalışan @reboot.
Yaz saati
Yerel saati izleyen bir sunucuda 01.00 ile 03.00 arasına ayarlanmış bir iş, cron sürümüne bağlı olarak saatlerin ileri alındığı gece atlanabilir ya da geri alındığında iki kez çalışabilir. Önemli işleri bu saatlerin dışına planla ya da sunucuyu UTC’de çalıştır. Türkiye yıl boyunca UTC+3’te kaldığı ve saatleri değiştirmediği için yerel saatte çalışan sunucularda bu sorun yaşanmaz.