Tüm araçlar

Cron İfade Oluşturucu

Cron expression oluştur ve insan diline çevir

İnsan diliyle: at 09:00, on Mon–Fri
#16/15/2026, 9:00:00 AM
#26/16/2026, 9:00:00 AM
#36/17/2026, 9:00:00 AM
#46/18/2026, 9:00:00 AM
#56/19/2026, 9:00:00 AM

Nasıl çalışır

Cron İfade OluşturucuCron expression oluştur ve insan diline çevir. Tüm işlemler tarayıcında yapılır — yükleme yok, üyelik yok, e-posta gerek yok. Sonsuza dek ücretsiz.

Son güncelleme:

Cron İfade Oluşturucu hakkında

Cron ifadeleri yanıltıcı kadar basit görünür — boşlukla ayrılmış beş alan — ama "hafta içi 09:00" ile "her 9 dakikada bir" arasındaki fark, yanlış yere konmuş iki karaktere bağlıdır. Bu cron ifadesi oluşturucu her alanı dropdown ile ayarlamana izin verir, sade dilde bir açıklama verir ve sonraki birkaç çalışmayı gösterir; böylece crontab'a yazmadan önce "evet, gerçekten Pazartesi-Cuma çalışıyor" diye doğrulayabilirsin.

Vahşi doğada iki ana cron lehçesi var. Linux crontab, GitHub Actions schedule ve Kubernetes CronJob'un kullandığı klasik POSIX/Vixie cron beş alanlıdır: dakika, saat, ayın günü, ay, haftanın günü. Quartz, Spring @Scheduled ve AWS EventBridge'in kullandığı altı alanlı varyant başa bir saniye alanı ekler. Bu araç standart 5 alanlı ifadeyi üretir — crontab, GitHub Actions ve çoğu container scheduler için ideal.

Sık kullanılan pattern'lar için preset kısayollarını (her 5 dakikada, her saat, günlük, haftalık, aylık) kullan; ya da daha sıra dışı bir şey gerekiyorsa ("hafta içi 09-17 arası her 15 dakikada") manuel field düzenlemesine geç. Her durumda anında doğrulama ve okunaklı onay alırsın — asteriksin slash olması gerektiğini gece 03:00'te keşfetmen gerekmez.

Cron İfade Oluşturucu nasıl kullanılır

  1. Sık kullanılan programlar için bir preset seç (her dakika, her 5 dakika, her saat, günlük, haftalık, aylık).
  2. Veya Dakika, Saat, Ayın günü, Ay ve Haftanın günü alanlarını düzenleyerek manuel kur.
  3. "Okunabilir" cümlenin güncellenmesini izle — ifadenin tam olarak ne demek olduğunu anlarsın.
  4. "Sonraki çalışmalar" listesine bak — bu zamanlar yerel timezone'unda hesaplanır ve job'ın bir sonraki ne zaman çalışacağını söyler.
  5. Son 5 alanlı ifadeyi kopyala ve crontab'ına, GitHub Actions workflow'una veya Kubernetes manifest'ine yapıştır.

Yaygın kullanım senaryoları

  • Gecelik build veya haftalık dependency güncellemesi için GitHub Actions "schedule:" trigger yazmak.
  • Periyodik database backup veya cache warmer için Kubernetes CronJob ayarlamak.
  • Log rotation, sertifika yenileme hatırlatması veya raporlama email'leri için sunucu cron'u kurmak.
  • Belirsiz bir ürün gereksinimini ("hafta içi sabah") tam olarak "0 9 * * 1-5" ifadesine çevirmek.
  • Mevcut bir cron girdisini yapıştırıp okunabilir açıklamayı geri okuyarak debug etmek.

İpuçları ve dikkat edilmesi gerekenler

  • Standart cron'da Ayın günü ile Haftanın günü OR'lanır — "0 9 1 * 1" her ayın 1'inde 09:00 VE her Pazartesi 09:00 çalışır. Sürpriz olmaması için birini "*" bırak.
  • Quartz ve Spring 6 veya 7 alanlı form (saniye ve opsiyonel yıl) kullanır. Bu araç 5 alanlı çıktı verir — platformun beklediğine göre alan ekle veya çıkar.
  • GitHub Actions cron UTC'de çalışır. Buradaki "Sonraki çalışmalar" yerel saatle gösterilir — UTC bir programa hizalaman gerekiyorsa çevir.
  • Birçok job'ı tam "0 0 * * *"e ayarlamaktan kaçın — dünyadaki her sunucu gece yarısı UTC'de tetiklenir, paylaşımlı altyapı bunu hisseder. Birkaç dakika kaydır.

Sıkça sorulan sorular

Hangi cron formatı kullanılıyor?

Standart 5 alanlı POSIX cron: dakika, saat, ayın günü, ay, haftanın günü. Vixie tarzı step (*/n), aralıklar (1-5) ve listeler (1,3,5) destekleniyor.

Bir sonraki çalışma zamanları yerel saatime göre mi?

Evet. Hesaplama tarayıcının yerel saatini kullanır, dolayısıyla önerilen zamanlar senin timezone'undaki bir makinede cron'un yapacağı şeyle aynı olur.

Hafta içi her gün 09:00'da bir şeyi nasıl çalıştırırım?

'0 9 * * 1-5' kullan. Baştaki 0 dakika 0, 9 saat 9, iki * herhangi gün/ay, 1-5 ise Pazartesi-Cuma.

Bu araç 5 alanlı mı 6 alanlı mı çıktı veriyor?

Standart 5 alanlı POSIX cron: dakika, saat, ayın günü, ay, haftanın günü. crontab, GitHub Actions, Kubernetes CronJob ve çoğu Unix scheduler'ın kullandığı format. 6 alanlı (Quartz, Spring) ya da 7 alanlı (yıl ile) için baştaki saniye alanını elle eklemen gerekir.

@hourly veya @daily gibi özel string'ler destekleniyor mu?

Eşdeğer numerik ifadeyi üretiyoruz (örn. @hourly yerine "0 * * * *") çünkü numerik form evrensel olarak desteklenir. Scheduler'ın @ alias'larını kabul ediyorsa elle değiştirebilirsin.

Standart dışı step aralıkları gibi "5-50/10" çalışıyor mu?

Evet, Vixie tarzı step'ler çalışır — "*/15" her 15 dakika, "5-50/10" 5, 15, 25, 35, 45 dakikalarında. Okunabilir satır ifadenin tam olarak neyi eşleştirdiğini açıklar.

Blogdan son yazılar

İlgili araçlar