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.
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.
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.
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
İ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?
Bir cron ifadesinde kaç alan vardır?
Hem ayın günü hem haftanın günü ayarlayınca işim beklemediğim günlerde çalışıyor. Neden?
Sonraki çalışma zamanları hangi saat dilimini kullanır?
Aynı ifade GitHub Actions, Kubernetes ve crontab'da çalışır mı?
*/15 ya da 10/20 gibi bir adım ne anlama gelir?
MON-FRI ya da JAN gibi adları kullanabilir miyim?
Yaz saati uygulamasındaki değişikliklerde ne olur?
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.