Cron İfade Oluşturucu
Cron expression oluştur ve insan diline çevir
Nasıl çalışır
Cron İfade Oluşturucu — Cron 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
- Sık kullanılan programlar için bir preset seç (her dakika, her 5 dakika, her saat, günlük, haftalık, aylık).
- Veya Dakika, Saat, Ayın günü, Ay ve Haftanın günü alanlarını düzenleyerek manuel kur.
- "Okunabilir" cümlenin güncellenmesini izle — ifadenin tam olarak ne demek olduğunu anlarsın.
- "Sonraki çalışmalar" listesine bak — bu zamanlar yerel timezone'unda hesaplanır ve job'ın bir sonraki ne zaman çalışacağını söyler.
- 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
- URL Encoder/DecoderURL'lerini ve URI bileşenlerini encode/decode et
- UUID ÜreticiKriptografik rastgele UUID v4 toplu üret
- JWT DecoderJSON Web Token header, payload ve son kullanma tarihini çöz
- Regex Test AracıRegex desenlerini canlı eşleşme vurgulamasıyla test et
- SQL FormatlayıcıSQL sorgularını güzelleştir, küçült veya tüm büyük dialect'lerde formatla
- YAML ↔ JSON ÇeviriciYAML ile JSON arasında çift yönlü dönüşüm