Geliştirici

Cron İfadesi Ayrıştırıcı

Herhangi bir 5 alanlı cron ifadesi yapıştırın ve ne anlama geldiğini sade Türkçeyle anında görün — bir işin ne zaman çalıştığını anlamak için artık yıldız işaretlerine ve eğik çizgilere gözünüzü kırpıştırmanıza gerek yok.

Bu araç size yardımcı oldu mu?

Cron İfadesi Ayrıştırıcı nedir?

Cron, Unix/Linux cron işlerinde, CI/CD pipeline'larında, Kubernetes CronJob'larında ve sayısız görev zamanlayıcısında kullanılan standart zamanlama sözdizimidir. Bir cron ifadesi, tüm tekrarlayan bir zamanlamayı beş kompakt alana sıkıştırır; bu güçlü olmakla birlikte tek bakışta okunması ünlü şekilde zordur — "0 */4 * * 1-5" hafta içi her 4 saatte bir mi demek, yoksa tamamen başka bir şey mi? Bu ayrıştırıcı, bir cron ifadesini alan alan çözümler ve sade bir Türkçe cümleye çevirir; böylece bir zamanlamayı devreye almadan önce doğru olduğunu doğrulayabilir veya bir cron sözdizimi tablosuna başvurmadan başkasının yazdığı bir zamanlamayı hızlıca anlayabilirsiniz.

Bu Hesap Makinesi Ne Zaman Kullanılmalı

  • Planlanmış bir görevi veya CI/CD pipeline'ını devreye almadan önce bir cron zamanlamasını doğrulama
  • Planlanmış bir işin neden beklenmedik bir zamanda çalıştığını (veya çalışmadığını) hata ayıklama
  • Bir ekip arkadaşının yazdığı bir Kubernetes CronJob'ını veya GitHub Actions zamanlamasını inceleme
  • Sistem yöneticisi veya DevOps sertifikasyon kursu için cron sözdizimini öğrenme
  • Bir sunucu geçişi sırasında mevcut crontab girişlerini denetleme
  • Birkaç zaman kısıtlamasını birleştiren karmaşık bir zamanlama kalıbı tasarlama

Adımlar:

  1. Giriş alanına 5 alanlı bir cron ifadesi yapıştırın veya yazın.
  2. Her alanın anlamıyla birlikte ayrı ayrı gösterildiğini görün.
  3. Tüm zamanlamanın sade Türkçe çevirisini okuyun.
  4. "Her saat başı" veya "hafta içi saat 9'da" gibi yaygın zamanlamalar için bir ön ayar düğmesi deneyin.

Formül

┌───────────── dakika (0-59) │ ┌───────────── saat (0-23) │ │ ┌───────────── ayın günü (1-31) │ │ │ ┌───────────── ay (1-12) │ │ │ │ ┌───────────── haftanın günü (0-6, Pazar=0) │ │ │ │ │ * * * * *

Kullanım Alanları

  • Zamanlanmış bir görevi veya CI/CD pipeline'ını devreye almadan önce bir cron zamanlamasını doğrulama
  • Bir ekip arkadaşının yazdığı bir Kubernetes CronJob'ını veya sunucusuz zamanlanmış bir fonksiyonu anlama
  • Zamanlanmış bir işin neden beklenmedik bir zamanda çalıştığını (veya çalışmadığını) hata ayıklama
  • Bir sistem yöneticisi veya DevOps kursu için cron sözdizimini öğrenme
  • Bir sunucu geçişi sırasında mevcut crontab girişlerini denetleme

Temel Faydalar

  • Anlaşılması zor cron sözdizimini anında sade Türkçeye çevirir
  • Netlik için 5 alanın her birini ayrı ayrı çözümler
  • En yaygın zamanlama kalıpları için tek tıkla ön ayarlar
  • Kayıt gerektirmez, tamamen tarayıcınızda çalışır

Uzman İpuçları

  • Şüpheye düştüğünüzde, zamanlamanın beklendiği gibi tetiklendiğini doğrulamak için önce çok yakın bir gelecek zamanla test edin
  • Mümkün olduğunda, okunabilirlik için her değeri virgülle listelemek yerine aralıklar (1-5) kullanın
  • Sunucunuzun veya zamanlayıcınızın saat dilimi ayarını iki kez kontrol edin — bu, "yanlış zaman" cron hatalarının en yaygın kaynağıdır
  • Basit bir günlük/haftalık zamanlamadan daha karmaşık herhangi bir şey için, devreye almadan önce sade Türkçe açıklamayı yazın ve niyetinizle karşılaştırın

Kaçınılması Gereken Yaygın Hatalar

  • Ayın günü ve haftanın gününün VE değil VEYA ile birleştirildiğini unutmak
  • 0 tabanlı haftanın günü (0=Pazar) ile diğer sistemlerin 1 tabanlı kurallarını karıştırmak
  • Ayın günü alanındaki */7'nin "her 7 günde bir" anlamına geldiğini varsaymak — aslında 1, 8, 15, 22, 29. günleri ifade eder ve her ay yeniden başlar
  • Çoğu cron uygulamasının UTC veya kullanıcının saat diliminde değil, sunucunun yerel saat diliminde çalıştığını unutmak

Anahtar Terimler Açıklandı

Cron: Unix benzeri işletim sistemlerinde kullanılan zamana dayalı bir görev zamanlayıcısı
Crontab: Bir cron işleri listesini tanımlamak için kullanılan dosya veya komut
Adım değeri: Bir alanın minimum değerinden başlayarak "her N birimde bir" anlamına gelen "/N" sözdizimi
CronJob: Kubernetes'in cron zamanlamalı görevleri çalıştırmak için kullandığı yerel kaynağı

İlgili Kavramlar

  • Zaman Farkı Hesaplayıcı: İki tarih ve saat arasındaki süreyi hesaplayın
  • Kalan Gün Hesaplayıcı: Belirli bir tarihe kalan günleri sayın
  • Unix Zaman Damgası Dönüştürücü: Unix zaman damgaları ve tarihler arasında dönüştürün
  • Saat Dilimi Kesişimi Hesaplayıcı: Saat dilimleri arasında çalışma saatleri kesişimini bulun
  • JSON Biçimlendirici: JSON verilerini biçimlendirin ve doğrulayın

Örnek

"0 9 * * 1-5" ifadesi şu şekilde çözümlenir: dakika=0, saat=9, ayın her günü, her ay, pazartesiden cumaya — anlamı "Saat 09:00'da, pazartesiden cumaya kadar."

Sonuçlarınızı Yorumlama

Ayrıştırıcı, 5 alanlı bir cron ifadesini bileşenlerine ayırır ve her birini basit Türkçeye çevirir. Beş alan şunlardır: dakika (0-59), saat (0-23), ayın günü (1-31), ay (1-12) ve haftanın günü (0-6, 0 pazar günüdür). Bir iş, beş alanın da mevcut zamanla eşleştiği anda çalışır — bu alanlar arasındaki VE mantığıdır. Özellikle ayın günü ile haftanın günü arasındaki etkileşime dikkat edin, bu DA mantığı (VEYA değil) kullanır. 15 ve haftanın günü 5 olarak zamanlanmış bir iş, her ayın 15'inde VE her cuma çalışır — sadece 15'ine denk gelen cumalar değil.

Sıkça Sorulan Sorular

Bir cron ifadesindeki 5 alan nedir?
Sırasıyla: dakika (0-59), saat (0-23), ayın günü (1-31), ay (1-12) ve haftanın günü (0-6, 0 pazar gününü temsil eder). Beş alanın tümü mevcut zamanla eşleştiğinde bir iş çalışır.
Cron sözdiziminde yıldız işareti (*) ne anlama gelir?
Yıldız işareti, o alan için "her değere izin verilir" anlamına gelir. Örneğin, saat alanındaki * işi herhangi bir saatte çalıştırabileceği anlamına gelir, yani bu alan zamanlamayı hiç kısıtlamaz.
*/5 ne anlama gelir?
Eğik çizgi bir adım değerini belirtir. Dakika alanındaki */5, "her 5 dakikada bir" anlamına gelir — alanın minimum değerinden başlayarak her 5 birimde bir tekrarlanır.
Bir işi yalnızca hafta içi çalışacak şekilde nasıl zamanlarım?
Haftanın günü alanında bir aralık kullanın: 1-5 pazartesiden cumaya kadar olan günleri temsil eder. Belirli bir saat ve dakika ile birleştirildiğinde, örneğin "0 9 * * 1-5" her hafta içi günü saat 9:00'da çalışır.
Cron sözdizimindeki virgül ne anlama gelir?
Virgül, tek bir alanda birden fazla değeri ayırır. Örneğin, dakika alanındaki 0,15,30,45, işin dakika 0, 15, 30 ve 45'te çalıştığı anlamına gelir. Virgül basit bir VEYA'dır: iş listeden herhangi bir değerden çalışır.
Cron sözdizimindeki tire ( Aralık ) ne anlama gelir?
Tire bir değer aralığını tanımlar. Örneğin, haftanın günü alanındaki 1-5, pazartesiden cumaya kadar olan günleri (1 ila 5) temsil eder. Aralıklar her iki ucun dahil olduğu şekilde tanımlanır. Aralıkları başka sözdizimleriyle birleştirebilirsiniz: 1-5,0 pazartesiden cumaya kadar ve pazarı kapsar.
Bir işi her 2 haftada bir çalışacak şekilde nasıl zamanlarım?
Standart cron, iki haftalık zamanlamayı doğal olarak desteklemez. İki seçeneğiniz vardır: (1) Tarihi kontrol eden ve yalnızca iki haftada bir çalışan bir yardımcı betik kullanın, veya (2) AWS EventBridge veya takvim tabanlı tetikleyicileri olan sistem zamanlayıcıları gibi daha karmaşık ifadeleri destekleyen bir görev zamanlayıcı kullanın.
Cron hangi saat dilimini kullanır?
Standart cron, sunucunuzun yerel saat dilimini kullanır. Sunucunuz UTC olarak yapılandırılmışsa, tüm cron işleri yerel saat diliminizden bağımsız olarak UTC'de çalışır. Özellikle bulut ortamlarında sunucunuzun saat dilimi ayarını her zaman kontrol edin.
Cron ile crontab arasındaki fark nedir?
Cron, zamanlanmış görevleri çalıştıran bir daemon (arka plan hizmetidir). Crontab, cron işleri listesini tanımlayan yapılandırma dosyasıdır (veya komutudur). Crontab'ınızı düzenlerken, cron daemon'ının okuyup çalıştırdığı zamanlama tanımları yazarsınız.
Cron ile yaz saati geçişlerini nasıl ele alırım?
Çoğu cron uygulaması yaz saati geçişlerine otomatik olarak uyum sağlamaz. Saatler ileri alındığında, 2:00'a zamanlanmış bir iş tamamen atlanabilir. Saatler geri alındığında, bir iş iki kez çalışabilir. Bu sorunları önlemek için geçiş saatleri (2:00-3:00) dışında veya UTC tabanlı zamanlama kullanın.
Cron ile dakikadan daha kısa aralıklar kullanabilir miyim?
Standart cron dakika hassasiyetine sahiptir ve dakikada birden fazla çalışacak şekilde zamanlama yapamaz. Dakikadan kısa aralıklar için, systemd zamanlayıcıları, daha kısa aralıklara sahip Kubernetes CronJob'ları veya uygulama düzeyinde zamanlayıcılar (milisaniye desteği olan node-cron) gibi alternatifleri kullanın.

Daha Fazla Araç Keşfedin

Tüm araç kütüphanemizden taze seçkiler.