Cron İfade Ayrıştırıcı

Cron ifadelerini ayrıştırın ve ne zaman çalıştıklarına dair insan tarafından okunabilir bir açıklama görün. Cron iş programlarını oluşturması veya anlaması gereken geliştiriciler ve sistem yöneticileri için mükemmeldir. Cron ifadelerinizin tam olarak ne zaman çalışacağını görselleştirerek zamanlama hatalarından kaçının.

Sıkça Sorulan Sorular

Bir cron ifadesi, Unix benzeri sistemlerde otomatik görevler için bir zamanlama tanımlayan 5 veya 6 alandan oluşan bir dizedir. Alanlar şunları temsil eder: dakika (0-59), saat (0-23), ayın günü (1-31), ay (1-12) ve haftanın günü (0-7, burada 0 ve 7 Pazar'dır). Örneğin, '0 9 * * 1', 'her Pazartesi saat 9:00'da çalıştır' anlamına gelir.

Dakika, saat, gün, ay, hafta içi günü temsil eden beş yıldız işaretiyle (* * * *) başlayın. Yıldız işaretlerini belirli değerler veya aralıklarla değiştirin. Örneğin: '30 14 * * *' her gün saat 2:30'da çalışır, '0 0 1 * *' her ayın 1'inde gece yarısı çalışır, '*/15 * * *' her 15 dakikada bir çalışır. İfadenizin beklediğiniz şeyi yaptığını doğrulamak için ayrıştırıcımızı kullanın.

Yıldız işareti o zaman birimi için 'her' veya 'herhangi' anlamına gelir. Örneğin, saat alanındaki * her saat, gün alanındaki * her gün anlamına gelir. Yani '0 * * *' 'her saatin 0. dakikasında' (saatlik) anlamına gelirken, '* * * *' 'her dakika' anlamına gelir. Bu alan için tüm olası değerlerle eşleşen joker karakterdir.

Adım değeri sözdizimini kullanın: */N. Her 5 dakika için: '*/5 * * * *'. Her 3 saat için: '0 */3 * * *'. /N sözdizimi 'her N'inci değer' anlamına gelir - yani dakika alanındaki */5 0, 5, 10, 15, vb. dakikalar anlamına gelir. İlk yarım saat boyunca her 5 dakika için '0-30/5' gibi adımlarla aralıklar da kullanabilirsiniz.

Evet! Haftanın günü alanında (5. alan) 1-5 kullanın. Örneğin, '0 9 * * 1-5' Pazartesi'den Cuma'ya kadar sabah 9'da çalışır. Pazartesi 1 ve Cuma 5. Belirli günleri de listeleyebilirsiniz: '0 9 * * 1,3,5' yalnızca Pazartesi, Çarşamba ve Cuma günleri sabah 9'da çalışır.

Bunlar, bir işin hangi günlerde çalışacağını belirtmenin iki farklı yoludur. Ayın günü (3. alan) 1-31 tarihlerini kullanırken, haftanın günü (5. alan) 0-7 tarihlerini kullanır (0 ve 7 Pazar günüdür). Her ikisi de belirtilirse (* değil), iş HERHANGİ koşul eşleştiğinde çalışır. Örneğin, '0 0 1 * 1' her ayın 1'inde VE her Pazartesi gece yarısı çalışır.

Hafta içi sabah 9'dan akşam 5'e kadar: '0 9-17 * * 1-5' her saat başında çalışır. İş saatlerinde her 30 dakika için: '*/30 9-17 * * 1-5'. 9-17 saat aralığı 9 AM ile 5 PM arasını kapsar ve 1-5 yürütmeyi Pazartesi'den Cuma'ya kadar sınırlar.

Eşdeğerdirler - her ikisi de her gün gece yarısı çalışır. Birçok cron uygulaması @daily, @hourly, @weekly, @monthly ve @yearly gibi özel dizeleri kısayol olarak destekler. Bunlar daha okunabilirdir ancak tam ifadelere göre daha az esnektir. Yaygın aralıklar için kısayolları ve özel zamanlamalar için tam ifadeleri kullanın.

Standart cron ifadeleri sunucunun sistem saatine göre çalışır. Zaman dilimlerini işlemek için ya sunucunuzun zaman dilimini doğru ayarlayın ya da zaman farkını hesaplayın. Bazı gelişmiş cron uygulamaları zaman dilimi belirtimlerini destekler, ancak temel 5 alanlı biçim zaman dilimi bilgilerini içermez.

İfadenizin beklenen zamanlama açıklamasını gösterdiğini doğrulamak için Cron İfade Ayrıştırıcımızı kullanın. Ayrıştırıcı, işinizin ne zaman çalışacağını sade bir İngilizce ile açıklar ve üretime dağıtmadan önce '0 9 31 2 *' (31 Şubat mevcut değil) gibi hataları yakalamanıza yardımcı olur.