Cron ifadesi aralığı
Bir CRON ifadesi, tetiklemenin belirli olaylarını yapılandırmak için kullanılır. Çoğu kez zamanlanmış olan yinelenen tetiklemeler için kullanılır. Zamanlamanın ayrı ayrı değerlerini temsil eden 6 veya 7 alandan oluşan bir dizedir. Bu alanlar boşlukla ayrılır ve izin verilen değerleri çeşitli kombinasyonlarda içerebilir.
CRON ifadesi şunun kadar basit olabilir: * * * * ? * Veya şu örnekteki gibi daha karmaşık da olabilir: 0/5 14,18,3-39,52 * ? JAN,MAR,SEP MON-FRI 2012-2020
CRON ifadesinde kullanabileceğiniz değerlerin listesi:
Ad |
Gerekli |
Değer |
İzin Verilen Özel Karakterler |
---|---|---|---|
Saniye |
Evet |
0-59 |
, - * / R |
Dakika |
Evet |
0-59 |
, - * / R |
Saat |
Evet |
0-23 |
, - * / R |
Ayın günü |
Evet |
1-31 |
, - * / ? L W |
Ay |
Evet |
1-12 veya JAN-DEC |
, - */ |
Haftanın günü |
Evet |
0-6 veya SUN-SAT |
, - / ? L # |
Yıl |
Evet |
1970-2099 |
, - * / |
CRON ifadesi sentaksı şu şekildedir:
┌───────── Saniye (0-59) │ ┌────────── Dakika (0-59) │ │ ┌────────── Saat (0-23) │ │ │ ┌────────── Ayın günü (1 - 31) │ │ │ │ ┌─────────── Ay (1-12 veya JAN-DEC) │ │ │ │ │ ┌────────── Haftanın günü (0 - 6 veya SUNSAT)(örneğin, 0 SUN ile aynıdır) │ │ │ │ │ │ ┌────────── Yıl │ │ │ │ │ │ │ * * * * * ? * |
•0 0 0 gece yarısı anlamına gelir (saniye, dakika, saat).
•Başka bir alanda tanımlandığı için bir değer tanımlanamadığında ? kullanın (ayın günü veya haftanın günü).
•* "her" anlamına gelir (saniye, dakika, saat, ayın günü, haftanın günü, yıl).
•SUN Pazar günü anlamına gelir.
Ayların ve haftanın günlerinin adları büyük-küçük harfe duyarlı değildir. Örneğin, MON eşittir mon veya JAN eşittir jan. |
Özel karakterler:
Virgül (,)
Virgüller, bir listedeki öğeleri ayırmak için kullanılır. Örneğin, 6. alanda (haftanın günü) "MON,WED,FRI" kullanmak, Pazartesileri, Çarşambaları ve Cumaları anlamına gelir.
Tire (-)
Aralığı ifade eder. Örneğin, 2012-2020 ifadesi 2012 ve 2020 dahil olmak üzere aradaki her yıl demektir.
Genel karakter (*)
Bir alanda mümkün olan tüm değerleri seçmek için kullanılır. Örneğin dakika alanında *, her dakika anlamına gelir. Genel karakter, haftanın günü alanında kullanılamaz.
Soru işareti (?)
Belirli bir günü seçerken, ayın veya haftanın herhangi bir gününü belirtebilirsiniz. Her ikisini birden belirtemezsiniz. Ayın gününü belirtirseniz, haftanın günü için ? kullanmanız gerekir ve bunun tersi de geçerlidir. Örneğin, tetikleyiciyi ayın belirli bir gününde (diyelim ki 10'unda) çalıştırmayı istiyor, ancak bu tarihin hangi güne denk geldiğiyle ilgilenmiyorsanız, ayın günü alanına 10 ve haftanın günü alanına ? girin.
Karma (#)
Ayın "kaçıncı günü" olduğunu belirtmek için kullanılır. Örneğin haftanın günü alanında 4#3 ayın üçüncü Perşembesi anlamına gelir (gün 4 = Perşembe ve #3 = ayın 3. #5 değerini belirlerseniz ve ayda haftanın söz konusu günü için 5 değeri geçerli değilse, tetikleme bu ayda gerçekleşmez.
Bölme işareti (/)
Bir aralığın artımlarını ifade eder. Örneğin 2. alanda (dakika) 3-59/15 ifadesi, saatin üçüncü dakikası ve bu zamandan itibaren her 15 dakika anlamına gelir.
Son (L)
Haftanın günü alanında kullanıldığında, belirli bir ayın son Cuması (5L) gibi yapıları belirtmenize olanak sağlar. Ayın günü alanında, ayın son günü anlamına gelir. Örneğin, Ocak için 31. gün, artıkyıl olmayan yıllarda Şubat için 28. gün.
Haftanın günü (W)
W karakterine ayın günü alanında izin verilir. Bu karakter, belirli bir günün en yakınındaki günü (Pazartesi-Cuma) belirtmek için kullanılır. Örneğin, ayın günü alanında değer olarak 15W seçerseniz, ayın 15. gününe en yakın gün anlamına gelir. Böylece 15'i Cumartesi ise, tetikleme ayın 14'üne denk gelen Cuma günü gerçekleşir. Ayın 15'i Pazar ise, tetikleme 16'sı olan Pazartesi günü gerçekleşir. Ancak ayın günü için 1W değerini belirlediyseniz ve ayın 1'i Cumartesi ise, tetikleme bir ayın günlerinin sınırını aşamayacağı için ayın 3'üne denk gelen Pazartesi günü gerçekleşir.
L ve W karakterleri ayın günü alanında birlikte de kullanılabilir. Bu kullanımın sonucu olan LW, ayın son günü anlamına gelir. |
Rastgele (R)
R rastgele anları belirtmenize olanak sağlayan özel bir ESET PROTECT CRON ifadesidir. Örneğin, R 0 0 * * ? * tetiklemesi her gün saat 00:00'da ancak rastgele bir saniyede (0-59) başlatılır.
Tüm ESET Management Agent'ların aynı anda ESET PROTECT Server'ınıza bağlanmasını engellemek için rastgele anları kullanmanızı öneririz. |
CRON ifadesinin bazı varyasyonlarını gösteren gerçek örnekler:
CRON ifadesi |
Anlam |
---|---|
0 0 12 * * ? * |
Her gün öğlen saat 12'de tetikle. |
R 0 0 * * ? * |
Her gün saat 00:00'da ancak rastgele bir saniyede (0-59) tetikle. |
R R R 15W * ? * |
Her ayın 15'inde rastgele bir saatte (saniye, dakika, saat) tetikle. 15'i Cumartesi ise, tetikleme ayın 14'üne denk gelen Cuma günü gerçekleşir. Ayın 15'i Pazar ise, tetikleme 16'sı olan Pazartesi günü gerçekleşir. |
0 15 10 * * ? 2016 |
2016 yılı boyunca her gün sabah saat 10:15'te tetikle. |
0 * 14 * * ? * |
Her gün öğlen saat 2'den 2:59'a kadar dakikada bir tetikle. |
0 0/5 14 * * ? * |
Her gün öğlen saat 2'den 2:55'e kadar 5 dakikada bir tetikle. |
0 0/5 14,18 * * ? * |
Her gün öğlen saat 2'den 2:55'e kadar 5 dakikada bir ve akşam saat 6'dan 6:55'e kadar 5 dakikada bir tetikle. |
0 0-5 14 * * ? * |
Her gün öğlen saat 2'den 2:59'a kadar dakikada bir tetikle. |
0 10,44 14 ? 3 WED * |
Mart ayında her Çarşamba günü öğlen saat 2:10'da ve 2:44'te tetikle. |
0 15 10 ? * MON-FRI * |
Her Pazartesi, Salı, Çarşamba, Perşembe ve Cuma günü sabah saat 10:15'te tetikle. |
0 15 10 15 * ? * |
Her ayın 15. gününde sabah saat 10:15'te tetikle. |
0 15 10 ? * 5L * |
Her ayın son Cuma günü sabah saat 10:15'te tetikle. |
0 15 10 ? * 5L 2016-2020 |
2016 - 2020 dahil olmak üzere aralıktaki her yıl, her ayın son Cuma günü sabah saat 10:15'te tetikle. |
0 15 10 ? * 5#3 * |
Her ayın 3. Cuma günü sabah saat 10:15'te tetikle. |
0 0 * * * ? * |
Her gün saat başı çalıştır. |