Online Cron Test ve Zamanlama Aracı

Cron ifadelerini test edin ve çalışma takvimini görselleştirin. Karmaşık zamanlamaları insan diline çevirin ve sonraki çalışma anlarını görün.

EN TR RU

Girdi

Cron

Çıktı

Zamanın Efendisi Olun: Cron Sözdizimi (Syntax) Çözümleme

Linux ve Unix tabanlı sistemlerde "zamanlanmış görevler" (scheduled tasks) denince akla gelen ilk araç Cron'dur. Ancak `0 22 * * 1-5` gibi bir ifadeyi ilk bakışta anlamak veya hatasız yazmak, tecrübeli SysAdmin'ler için bile zor olabilir. Bir yıldızın (`*`) yanlış yere konulması, veritabanı yedeğinizin her gece yerine her dakika alınmasına ve sunucunun çökmesine neden olabilir. Cron Tester aracımız, yazdığınız ifadeyi analiz eder, Linux (5 haneli) veya Quartz (6 haneli) standartlarına uygunluğunu denetler ve size "Hafta içi her gün saat 22:00'de çalışır" gibi anlaşılır bir özet sunar.

Geleceği Öngörün: Sonraki Çalışma Zamanları (Next Run)

Bir Cron ifadesinin doğru olup olmadığını anlamanın en iyi yolu, gelecekteki çalışma tarihlerini simüle etmektir. Aracımız, yazdığınız zamanlamaya göre "Next 5 Runs" (Sonraki 5 Çalışma) listesini oluşturur. Bu sayede, "Her ayın ilk Pazar günü" (`0 0 1-7 * 0`) gibi karmaşık mantıkların gerçekten hedeflediğiniz tarihlere denk gelip gelmediğini kontrol edebilirsiniz. Özellikle "Ayın son günü" (`L` karakteri) veya "Her 15 dakikada bir" (`*/15`) gibi operatörlerin kullanımında yapılan mantık hatalarını bu liste sayesinde anında fark edersiniz.

Yaygın Hatalar ve Özel Karakterler

Cron dünyası sadece rakamlardan ibaret değildir. Bölü (`/`) operatörü sıklık belirlerken, virgül (`,`) çoklu seçim yapar ve tire (`-`) aralık belirtir. Örneğin `0 0 1,15 * *` ifadesi her ayın 1'i ve 15'inde çalışır. Ancak geliştiriciler sıklıkla "Day of Week" (Haftanın Günü) ile "Day of Month" (Ayın Günü) alanlarını karıştırırlar. Aracımız, bu iki alanın çakıştığı durumlarda sizi uyarır. Ayrıca, sunucu saati (Server Time) ile yerel saatiniz arasındaki farkı gözeterek, görevinizin sizin zaman diliminize göre ne zaman çalışacağını netleştirir.

FAQ
Standart Linux Cron'u 5 alan (Dakika, Saat, Gün, Ay, Haftanın Günü) kullanır. Java tabanlı Quartz Scheduler ise isteğe bağlı olarak "Saniye" alanını da başa ekler (toplam 6 alan). Aracımız her iki formatı da destekler.
En yaygın nedenler: Yanlış kullanıcı yetkileri, "PATH" değişkeninin tanımlanmamış olması veya Cron servisinde `%` karakterinin "yeni satır" olarak algılanmasıdır (escape edilmelidir). Ayrıca betiğinizin (script) çalıştırılabilir (`chmod +x`) olduğundan emin olun.
Mantıksal olarak evet, ikisi de 5 birimlik aralıklarla çalışır. Ancak `*/5` (step value) ifadesi daha okunaklıdır ve bakımı daha kolaydır. Elle tek tek yazmak yerine adım operatörünü kullanmak "best practice" kabul edilir.
Linux standartlarında hem `0` hem de `7` Pazar gününü temsil eder (0-6 veya 1-7 arası kullanım sistemden sisteme değişebilir). Aracımız bu belirsizliği ortadan kaldırmak için `SUN` gibi metin tabanlı gün isimlerini de destekler.
Standart Cron'da "Ayın son günü" için doğrudan bir operatör yoktur, genellikle bir bash script wrapper ile kontrol edilir. Ancak Quartz gibi gelişmiş zamanlayıcılarda `L` karakteri kullanılarak (örn: `0 0 L * *`) bu işlem kolayca yapılabilir.