Cron ifadesi oluşturucu

Bir cron zamanlaması yaz, tam olarak ne zaman çalıştığını gör.

0-59
0-23
1-31
1-12 veya JAN-DEC
0-6 veya SUN-SAT (7 de Pazar sayılır)
At 09:00 AM, Monday through Friday

Sonraki 10 çalışma

    Cron sözdizimi kopya kağıdı
    Alanİzin verilen değerler
    Dakika0-59
    Saat0-23
    Ayın günü1-31
    Ay1-12 veya JAN-DEC
    Haftanın günü0-6 veya SUN-SAT (7 de Pazar sayılır)
    SembolAnlamı
    *Her değer
    ,Değer listesi, örneğin 1,15
    -Bir aralık, örneğin 1-5
    /Bir adım, örneğin her 15. değer için */15

    Tarayıcında çalışır. Yazdığın hiçbir şey bir yere gönderilmez.

    Bir cron ifadesi nasıl yazılır

    1. Bir şablon seç, veya beş alanlı bir ifade yaz.
    2. Altındaki kutularda tek tek alanları ince ayarla.
    3. Açıklamayı ve sonraki çalışma saatlerini kontrol et, sonra ifadeyi kopyala.

    Yaygın cron zamanlamaları

    ZamanlamaİfadeAnlamı
    Her dakika* * * * *Saatte 60 kez çalışır
    Her 5 dakikada bir*/5 * * * *:00, :05, :10 ve böyle devam eder
    Her gece saat 2'de0 2 * * *24 saatte bir kez
    Hafta içi saat 9'da0 9 * * 1-5Sadece Pazartesi-Cuma
    Ayın ilk günü0 0 1 * *1. günde gece yarısı
    Her 6 saatte bir0 */6 * * *Gece yarısı, 06:00, öğlen, 18:00

    Cron sistemler arasında nasıl farklılaşır

    Aşağıdaki 5 alanlı format bu oluşturucunun ürettiği formattır, ve çoğu iş zamanlayıcının doğrudan kullandığı format da budur.

    SistemAlan sayısıNot
    Standart cron / crontab5Dakika, saat, ayın günü, ay, haftanın günü
    Kubernetes CronJob5Aynı format, YAML içinde string olarak tırnaklanır
    GitHub Actions5on.schedule.cron altında ayarlanır, her zaman UTC'de çalışır
    Quartz (Java)6 veya 7Dakikadan önce bir saniye alanı ekler
    AWS EventBridge6Bir yıl alanı ekler, ayın günü veya haftanın günü için ? kullanır

    İfadeyi buradan bir Quartz veya AWS zamanlamasına kopyala ve beklediği ekstra alanı ekle; dakika, saat, gün, ay ve haftanın günü konumları aynı kalır.

    Cron zamanlaması yazma ipuçları

    • Uzun bir liste yerine bir adımı tercih et: */15 * * * *, 0,15,30,45 * * * *'ten daha kısa ve daha net.
    • Hem ayın günü hem haftanın gününü ayarlamak göründüğü kadar az kısıtlar: standart cron, ikisi de değil, biri eşleştiğinde işi çalıştırır.
    • Bir sunucuya yapıştırmadan önce zamanlamayı burada test et. Tek bir yanlış alan, günlük bir işi her dakika çalışan bir işe dönüştürebilir.
    • Sunucular cron'u genelde UTC'de çalıştırır. Yukarıdaki sonraki çalışma listesi kendi saat diliminde gösterilir, bu yüzden bir işin zamanında çalıştığını varsaymadan önce çevir.

    Cron ifadesi oluşturucu SSS

    Bir cron ifadesindeki beş alan ne anlama gelir?

    Soldan sağa: dakika (0-59), saat (0-23), ayın günü (1-31), ay (1-12) ve haftanın günü (0-6, 0 Pazar demek). Yıldız işareti her değer anlamına gelir, bu yüzden * * * * * her dakika çalışır.

    Bir cron işini her 5 dakikada bir nasıl çalıştırırım?

    */5 * * * * kullan. /5, her beşinci değer demektir, yani her günün her saatinde 0, 5, 10 dakikalarında ve böyle devam ederek çalışır.

    Hem ayın günü hem haftanın günü ayarlarsam ne olur?

    Standart cron, ikisinden biri eşleştiğinde işi çalıştırır. 0 0 1 * 1 her ayın 1'inde gece yarısı ve ayrıca her Pazartesi çalışır.

    Cron hangi saat dilimini kullanır?

    İşi çalıştıran sunucunun saat dilimini, ki bu genelde UTC'dir. Bu sayfadaki çalışma saatleri kendi saat dilimindedir, bu yüzden sunucun farklı ayarlıysa bunları çevir.

    Bu format Kubernetes, GitHub Actions, Quartz veya AWS için çalışır mı?

    Kubernetes CronJob'ları ve GitHub Actions zamanlamaları aynı 5 alanlı formatı kullanır. Quartz bir saniye alanı ekler, AWS EventBridge ise bir yıl alanı ekler ve gün alanlarından birinde ? kullanır, bu yüzden bunların ayarlanması gerekir.

    Bir işi sadece hafta içi veya sadece hafta sonu nasıl çalıştırırım?

    Pazartesiden Cumaya için haftanın gününü 1-5 yap, Cumartesi ve Pazar için 0,6 yap. Ayın günü ve ayı * olarak bırak ki başka bir şeyi kısıtlamasınlar.

    @daily ve @hourly gibi kısayollar ne anlama gelir?

    Bazı cron uygulamalarının beş alan yerine kabul ettiği makrolardır. @hourly, 0 * * * * demektir, @daily, 0 0 * * * demektir, @weekly, 0 0 * * 0 demektir, @monthly, 0 0 1 * * demektir ve @yearly, 0 0 1 1 * demektir. Bunlardan herhangi birini buradaki ifade kutusuna yaz, otomatik olarak genişler.

    İlgili araçlar