Summary

Bu cron ifadesi oluşturucu, standart beş alanlı cron zamanlamalarını tarayıcınızda kurar ve denetler. Hazır bir şablon seçin ya da dakika, saat, ayın günü, ay ve haftanın günü alanlarını düzenleyin. Araç zamanlamayı düz Türkçe açıklar, her alanı ayrıntılı gösterir ve UTC ya da kendi saat diliminizde sonraki beş çalışma zamanını listeler. Ayın günü ile haftanın gününü birleştirirken standart cron kuralını izler. Hiçbir şey sunucuya gönderilmez, kayıt da gerekmez.

Ücretsiz cron aracı

Cron ifadesi oluşturucu: zamanlamayı saniyeler içinde kurun ve önizleyin

Hazır bir şablon seçin ya da beş alanı yazın. İfadenin düz Türkçe açıklamasını, alan alan dökümünü ve sonraki beş çalışma zamanını görürsünüz. Hepsi yerel olarak hesaplanır.

Cron ifadesi oluşturucu

Hazır bir şablondan başlayın ya da beş alandan herhangi birini düzenleyin. İfade, anlamı ve sonraki beş çalışma zamanı yazdıkça güncellenir.

0-59
0-23
1-31
1-12 or JAN-DEC
0-7 or SUN-SAT
0 9 * * *

Alan alan açıklama

    Sonraki 5 çalışma

      crontab satırı

      Nasıl çalışır

      Araç beş alanınızla ne yapar

      Her alanı tek tek çözümler

      Her alan tek bir değer, bir liste (1,15), bir aralık (1-5), bir adım (*/10) ya da bunların karışımını kabul eder. JAN ya da MON-FRI gibi ay ve gün adları da çalışır. Aralık dışındaki değerler ve ters aralıklar, hatalı olan alanın üzerinde işaretlenir.

      Gerçek cron eşleşme kuralını uygular

      Bir an; dakikası, saati ve ayı listelerinizde olduğunda ve gün testini geçtiğinde eşleşir. Ayın günü ile haftanın günü ikisi de kısıtlıysa cron bunlardan birini kabul eder. Alanlardan biri yıldızla başlıyorsa ikisinin de eşleşmesi gerekir.

      Gelecekteki çalışmaları bulmak için takvimi tarar

      Script, geçerli dakikadan başlayarak günleri adım adım gezer, gün testini geçenleri tutar, ardından eşleşen saat ve dakikaları sırayla listeler. Sekiz yıl ileriye bakar; bu, 29 Şubat zamanlamasını bulmak için yeterlidir.

      Sözdizimi

      Beş alan, cron'un okuduğu sırayla

      Bir cron satırı, boşlukla ayrılmış beş alan ve ardından komuttan oluşur. Sıra hiç değişmez: dakika, saat, ayın günü, ay, haftanın günü. Hataların çoğu ilk iki alanın yer değiştirmesinden çıkar; bu yüzden saat 14:00 için kurulan bir zamanlama, her saatin 14. dakikasında çalışır. Onaylamadan önce ifadeyi soldan sağa okuyun ve alanları sesli söyleyin.

      • Dakika: 0-59
      • Saat: 0-23, 24 saatlik sistemde
      • Ayın günü: 1-31
      • Ay: 1-12 ya da JAN-DEC
      • Haftanın günü: 0-7 ya da SUN-SAT; 0 ve 7 ikisi de Pazar'dır
      • Semboller: * her değer için, , liste için, - aralık için, / adım için
      Yeşil ve camgöbeği durum ışıkları yanan, loş bir odada sunucu rafı
      Pratikte neyin bozulduğu

      İnsanlara bir hafta sonunu kaybettiren cron tuzakları

      Ortam neredeyse boştur

      Cron, minimal bir PATH ve shell profili olmadan işleri başlatır. Terminalinizde çalışan bir script, cron'dan sessizce başarısız olabilir. Komut ve okuduğu her dosya için mutlak yollar kullanın; çıktıyı da hataları görebilmeniz için bir günlük dosyasına yönlendirin.

      Yüzde işareti komutunuzu böler

      Bir crontab satırında kaçışlanmamış % yeni satır olarak yorumlanır ve ondan sonraki her şey komuta girdi olarak gider. date +%F gibi tarih biçimlerinde her yüzde işaretinin önüne ters eğik çizgi konmalıdır. Komutu bir script'e koyun, sorun ortadan kalkar.

      Her dakika çoğu zaman istediğiniz şey değildir

      Her dakika çalışan ve 90 saniye süren bir iş kendisiyle çakışır. Uzun işleri bir kilitle koruyun ya da bir kuyruğa taşıyın. Yalnızca birkaç dakikada bir bir şey gerekiyorsa */5 gibi bir adım daha nazik olur ve işin çağırdığı sisteme daha az yük bindirir.

      Saat dilimi size ait değildir

      Crontab, sunucunun saat dilimini kullanır. Barındırılan zamanlayıcılar genellikle UTC kullanır. 09:00 için kurulan bir iş, makine UTC'de çalışıyorsa Türkiye'de 12:00'de tetiklenebilir. Saat dilimini satırın yanındaki bir yorumda belirtin.

      Haftanın günü ve ayın günü VEYA olarak birleşir

      İki alanı da kısıtlamak takvimi daraltmaz, genişletir. Ayın ilk Pazartesi'sini istiyorsanız beş alanlı hiçbir ifade bunu doğrudan anlatamaz. İşi her Pazartesi çalıştırın ve tarihin 7 ya da daha küçük olduğunu script ile kontrol edin.

      İşten önce zamanlamayı test edin

      Önce burada sonraki beş çalışmayı kontrol edin, sonra komutu aynı ortamla elle çalıştırın. İki küçük kontrol, hiç çalışmamış bir gece yedeğinde hata ayıklamaktan iyidir. Dosyaya tarih yazmak gibi zararsız bir komutla başlayın.

      Cron ifadeleri hakkında sorular

      Bu cron ifadesi oluşturucu ücretsiz mi, zamanlamamı bir yere gönderiyor mu?
      Ücretsizdir, kayıt gerektirmez ve tamamen tarayıcınızda çalışır. Yazdığınız ifade, bu sayfadaki küçük bir script tarafından yerel olarak çözümlenir. Hiçbir şey yüklenmez. Tek ağ isteği, aracın kullanıldığını kaydeden anonim bir sayaçtır.
      Bir cron ifadesinde kaç alan vardır?
      Standart Unix cron'da beş: dakika, saat, ayın günü, ay ve haftanın günü, bu sırayla. Bazı zamanlayıcılar altıncı bir alan ekler. Quartz saniyeyi en başa koyar, AWS EventBridge ise yıl alanı ekler ve soru işareti kullanır. Bu araç yalnızca beş alanlı biçimi işler; sonucu bu sistemlerden birine yapıştırırken ek alan için dokümantasyona bakın.
      Hem ayın günü hem haftanın günü ayarlayınca işim beklemediğim günlerde çalışıyor. Neden?
      Çünkü standart cron, ikisi de kısıtlıysa bu alanları VEYA olarak değerlendirir. 0 0 13 * 5 ifadesi her ayın 13'ünde ve her Cuma çalışır; yalnızca 13'ü Cuma olan günlerde değil. İki alandan biri düz bir yıldızsa ya da yıldızla başlıyorsa kontrol bunun yerine VE olur. Yukarıdaki önizleme listesi bu kuralı uygular; böylece dağıtımdan önce gerçek tarihleri görürsünüz.
      Sonraki çalışma zamanları hangi saat dilimini kullanır?
      Siz seçersiniz. Varsayılan UTC'dir, çünkü çoğu bulut zamanlayıcısı cron'u UTC'de çalıştırır. İkinci seçenek tarayıcınızın saat dilimini kullanır. Kendi sunucunuz üçüncü bir saat dilimi kullanıyor olabilir; saat değerlerine güvenmeden önce makinenin saat dilimi ayarını ya da zamanlayıcının dokümantasyonunu kontrol edin.
      Aynı ifade GitHub Actions, Kubernetes ve crontab'da çalışır mı?
      Beş alan üçünde de aynı anlama gelir. GitHub Actions zamanlamaları UTC'de değerlendirir ve izin verilen en kısa aralık 5 dakikadır. Kubernetes CronJob aynı beş alanı kullanır ve yeni sürümlerde saat dilimi ayarlamanıza izin verir. Klasik crontab ise makinenin saat dilimini kullanır. @daily gibi özel dizgiler birçok crontab uygulamasında kabul edilir ama her zamanlayıcıda değildir; şüphe duyduğunuzda beş alanlı biçimi tercih edin.
      */15 ya da 10/20 gibi bir adım ne anlama gelir?
      Adım, bir aralıktaki her n'inci değeri seçer. Dakika alanında */15, 0, 15, 30 ve 45 demektir. 10/20 gibi bir başlangıç değeri ile adım ise o değerden alanın sonuna kadar çalışır: 10, 30 ve 50. Saat alanındaki 8-18/2 gibi adımlı bir aralık ise 8, 10, 12, 14, 16 ve 18 demektir.
      MON-FRI ya da JAN gibi adları kullanabilir miyim?
      Evet. Ay ve haftanın günü alanları, büyük ya da küçük harfle yazılmış üç harfli İngilizce adları kabul eder. Sayılar da çalışır: aylar 1 ile 12 arasında, haftanın günleri ise 0 ile 7 arasında gider; burada hem 0 hem 7 Pazar demektir.
      Yaz saati uygulamasındaki değişikliklerde ne olur?
      Bu, zamanlayıcıya bağlıdır. Saatler ileri alındığında, atlanan saat içine kurulmuş bir iş atlanabilir ya da geç çalışabilir. Saatler geri alındığında, tekrar eden saat içine kurulmuş bir iş iki kez çalışabilir. Bir işin günde tam olarak bir kez çalışması gerekiyorsa onu UTC'de ya da geçiş saatine yakın olmayan bir zamanda planlayın.

      Sırada ne inşa edeceğinizi mi arıyorsunuz?

      Yan proje için cron işi iyi bir ilk arka uçtur. Ana sayfamızdaki ücretsiz oluşturucu, tek tıkla yığını ve kapsamıyla birlikte eksiksiz bir proje spesifikasyonu verir.