Cron İfade Çözümleyici

5 alanlı standart bir cron ifadesini çözümler; her alanı ayrı gösterir ve sonraki çalışma zamanlarını hesaplar. Tüm hesaplama tarayıcınızda yapılır.

Son güncelleme:

Cron İfadesi
Sıra: dakika saat ayın-günü ay haftanın-günü. Örn. 0 9 * * 1-5.
Hazır ifadeler

Sonuçlar

Alan dökümü

Dakika
0
Saat
9
Ayın günü
*
Ay
*
Haftanın günü
1-5

Sonraki 5 çalışma

    Zamanlar tarayıcınızın yerel saat dilimine göre gösterilir.

    Bu çözümleyici ne zaman işe yarar

    Devraldığınız bir crontab'ı okurken

    Beş alanlık bir satır, yazan kişinin kafasındaki niyetin sıkıştırılmış hâlidir ve niyet çoğu zaman yanında belgelenmez. Satırı alan alan açmak, "bu iş gerçekte ne zaman çalışıyor?" sorusunu tahminden çıkarır.

    Bir işin neden yanlış saatte çalıştığını araştırırken

    İfade doğru olabilir ama daemon'ın saat dilimi beklediğiniz olmayabilir. Aşağıdaki örnek, doğru yazılmış bir ifadenin yanlış saatte çalışmasının en yaygın nedenini adım adım gösteriyor.

    Kubernetes CronJob yazmadan önce

    schedule alanına giren ifade kümede sessizce yanlış çalışırsa bunu genelde günler sonra fark edersiniz. Sonraki 5 çalışmayı önceden görmek, yanlış anlaşılan bir adım değerini veya gün alanını daha yazım aşamasında yakalar.

    Çalışılmış örnek: doğru ifade, yanlış saat dilimi

    Gece yedeği için yazılmış satır: 15 3 * * *. Amaç diskin sakin olduğu 03:15'te çalışmak. Sunucu ise çoğu konteyner imajı gibi UTC'de.

    1. İfade çözümü: dakika 15, saat 3, kalan üç alan yıldız; her gün 03:15.
    2. Cron daemon'ı saati kendi diliminden okur; imaj UTC'deyse bu 03:15 UTC demektir.
    3. Türkiye 2016'dan beri kalıcı UTC+3'te ve yaz saati uygulamıyor: 03:15 UTC = 06:15 İstanbul.
    4. "Gece sakin saatte" diye planlanan yedek, aslında sabah trafiği başlarken çalışıyor.
    5. İstanbul'da gerçekten 03:15 isteniyorsa UTC crontab'a 15 0 * * * yazılır: 00:15 UTC, aynı günün 03:15'idir.

    Bu kaymanın tek kalıcı çözümü, dönüşümü tek bir yerde sabitlemektir: ya Kubernetes 1.27+ ile spec.timeZone alanına IANA dilimi yazın ya da tüm crontab'ları UTC kabul edip çevirileri crontab'ın başına yorum olarak ekleyin. İki dilimde birden düşünülen her satır, er ya da geç yanlış saatte çalışır.

    Sık yapılan dört hata

    Dakika ile saati ters yazmak

    İlk alan dakikadır, saat değil. Öğlen için 0 12 * * * yerine 12 0 * * * yazılırsa iş gece 00:12'de çalışır. İfade sözdizimsel olarak geçerli olduğu için hiçbir araç uyarı vermez; fark ancak loglarda görülür.

    İki gün alanını VE sanmak

    Ayın günü ve haftanın günü birlikte kısıtlanınca standart cron birleşimi alır, kesişimi değil. "Ayın 13'ü Cuma" niyetiyle yazılan 0 9 13 * 5, hem her ayın 13'ünde hem de her Cuma çalışır. Aylık ve haftalık iş tek satırda birleşmez; iki ayrı satır gerekir.

    @reboot gibi kısaltmaları taşınabilir sanmak

    @daily, @hourly gibi kısaltmaları çoğu modern cron ve Kubernetes kabul eder; @reboot ise yalnızca bazı cron daemon'larında vardır ve CronJob'da karşılığı yoktur. Taşınabilirlik gerekiyorsa beş alanlı açık biçimde kalın.

    Kaçan çalışmanın telafi edileceğini varsaymak

    Zamanı geldiğinde makine kapalıysa klasik cron o çalışmayı geri çalıştırmaz; telafi anacron'un işidir. Kubernetes'te ise startingDeadlineSeconds ve concurrencyPolicy bu davranışı belirler; ikisini ayarlamadan kritik iş zamanlamayın.

    Bu araçla birlikte kullanılanlar

    • Epoch / Unix Timestamp Dönüştürücü Unix epoch zaman damgalarını okunabilir tarihlere çevirin ve geri dönüştürün. Saniye ve milisaniye otomatik algılanır.
    • Kubernetes Kaynak Bütçesi Hesaplayıcısı Pod istekleri ve düğüm boyutuna göre kaç düğüme ihtiyacınız olduğunu, paketleme verimliliğini ve tahmini aylık maliyeti hesaplayın.
    • Hash Üretici (SHA) Metnin SHA-1, SHA-256, SHA-384 ve SHA-512 özetlerini anında hesaplayın. Web Crypto API ile, tarayıcıda.
    • HTML / Entity Kodlayıcı-Çözücü Metni HTML entity'lerine kodlayın veya geri çözün. XSS önleme için özel karakterleri kaçışlayın; tarayıcıda, kayıt gerektirmez.
    • HTML Görüntüleyici HTML kaynağını yapıştırın, anında canlı önizleyin. Sandbox'lı, izole bir çerçevede; script'ler güvenlik için kapalı.

    Sık Sorulan Sorular

    Cron ifadesinin 5 alanı nedir?

    Standart cron ifadesi soldan sağa beş alandan oluşur: dakika (0-59), saat (0-23), ayın günü (1-31), ay (1-12) ve haftanın günü (0-6, 0 = Pazar). Her alan bir yıldız (*), tek değer, aralık (1-5), liste (1,3,5) veya adım (*/15) içerebilir.

    Kubernetes CronJob hangi cron biçimini kullanır?

    Kubernetes CronJob, schedule alanında standart 5 alanlı Unix cron sözdizimini kullanır. Saniye alanı yoktur. Zaman dilimi varsayılan olarak kube-controller-manager'ın saat dilimidir; spec.timeZone alanıyla IANA saat dilimi belirtilebilir.

    Ayın günü ve haftanın günü birlikte kısıtlanırsa ne olur?

    Her iki alan da yıldız değilse standart cron bunları VEYA mantığıyla birleştirir: iş, ayın günü VEYA haftanın günü eşleştiğinde çalışır. Bu, sık yapılan bir yanlış anlamadır — beklenenden daha sık çalışmaya yol açabilir.

    */15 ne anlama gelir?

    Eğik çizgi bir adım değeridir. Dakika alanında */15, "0'dan başla, 15 dakikada bir" demektir — yani 0, 15, 30 ve 45. */5 her beş birimde bir, 10-30/5 ise 10 ile 30 arasında beşer adımla eşleşir.

    Sonraki çalışma zamanları neden yerel saatte?

    Bu araç sonraki çalışmaları tarayıcınızın yerel saat dilimine göre hesaplar; böylece okuması kolaydır. Üretimde bir CronJob'un gerçekte ne zaman çalışacağı, kümenin veya spec.timeZone'un saat dilimine bağlıdır — ikisini karıştırmayın.