Cron Job Nedir?

Unix gibi bir işletim sistemi kullanıyorsanız cron job görevleri otomatik yapar ve size zamandan tasarruf ettirir.

Yinelenen görevleri otomasyonlu şekilde çözmek, birçok meşgul webmaster tarafından seçilir. Unix gibi bir işletim sistemi kullanıyorsanız cron job görevleri otomatik yapar ve size zamandan tasarruf ettirir. Cron, bir görevi sonraki zamanda yinelemek için uygulanan programdır. Belirli görevi, belirli zamanda yinelemek için komut verme eylemine ise cron job denir.

Şayet bir görevi, sonraki bir zamanda, bir defaya mahsus planlamak istiyorsanız; onun gibi başka bir komut kullanabilirsiniz. Ancak cron, tekrarlanan görevler için muhteşem bir çözümdür. Cron etkileşimli olmayan görevleri sürdürmek için arka planda çalışan bir daemon’dır. Windows’da Hizmetler gibi arka plan yöntemleri mevcuttur ve bir daemon sürekli olarak bekleme modundadır. Bu modda, bilgisayarda ya da ağda bulunan herhangi bir bilgisayardan, belirli bir görevi yapmak için komut isteği beklemektedir.

Bir cron işi, gelecekte yürütülecek görevleri planlamak için kullanılan bir Linux komutudur. Bu normalde periyodik olarak yürütülen bir işi planlamak için kullanılır - örneğin, her sabah bir bildirim göndermek için. Drupal ve WHMCS gibi bazı betikler, belirli işlevleri gerçekleştirmek için cron işleri kurmanızı gerektirebilir.


Çoğu cron işi için üç bileşen mevcuttur:

  • Çağrılacak veya yürütülecek komut dosyası.
  • Komut dosyasını tekrar tekrar yürüten komut. Bu genellikle cPanel'de ayarlanır.
  • Komut dosyasının, çağrılan komut dosyasının ne yaptığına bağlı olarak eylemi veya çıktısı. Sıklıkla, cron işleri olarak adlandırılan betikler, dosyaları veya veritabanlarını değiştirir. Ancak, e-posta bildirimleri göndermek gibi sunucudaki verileri değiştirmeyen diğer görevleri de gerçekleştirebilirler.

Bir cron işinin kullanılmasını gerektiren çoğu komut dosyası, size neyin ayarlanması gerektiğine dair özel talimatlar verir ve sıklıkla örnekler verir.

cPanel'de bir cron işi eklemek için şu adımları izleyin:

  1. Öncelikle, cPanel'e giriş yapmanız gerekecek
  2. Kontrol panelinden Cron Job'u arayın veya Gelişmiş menüsüne gidin ve Cron Jobs simgesine tıklayın
  3. Ardından, cron çıktısını almak istediğiniz bir e-posta seçmeniz gerekecek. Mevcut E-posta yanında listelenen e-posta adresi geçerliyse, bırakın. Farklı bir e-posta adresi kullanmak isterseniz, bu adresi E-posta'nın yanındaki form alanına girin ve işiniz bittiğinde E-postayı Güncelle'ye tıklayın.
  4. Yeni Cron İşi Ekle etiketli bölümde, hangi komutu çalıştırmak istediğinizi ve sıklığını belirtebilirsiniz. Komut etiketli alt form alanına istediğiniz komutu girerek başlayın. Herhangi bir Linux komutunu burada listeleyebilirsiniz veya belirli bir zamanda çalıştırmak istediğiniz bir dosyanız varsa, çalıştırmak istediğiniz dosyanın yolunu belirtmeniz yeterlidir.
  5. Ardından, Ortak Ayarlar etiketli form alanına geri dönün ve açılır menüde listelenen mevcut seçeneklerden komutun hangi sıklıkta çalışmasını istediğinizi seçin. Bu, diğer zaman ayarlarını seçiminize göre otomatik olarak güncelleyecektir.
  6. Alternatif olarak, bireysel zaman ayarlarını düzenleyerek yinelenen sıklığınızı manuel olarak girmeyi seçebilirsiniz. Dakika, Saat, Gün, Ay ve Hafta içi, istediğiniz sonuçları elde etmek için değiştirilebilir
  7. Seçimlerinizi yapmayı bitirdiğinizde, işlemi sonlandırmak için Yeni Cron İşi Ekle düğmesini tıklamanız yeterlidir.

Ve şimdi cPanel'deki Cron Jobs aracını kullanarak bir komutu başarıyla planladınız. Ayarlanması gereken başka komutlarınız varsa, diğer komutlar için bu işlemi tekrarlamanız yeterlidir.

Bir Cron İşi Ayarlamak için Plesk'i Kullanma

Plesk kullanarak bir cron işi eklemek için şu adımları uygulamanız yeterlidir:

  1. Öncelikle Plesk kontrol panelinize giriş yapın.
  2. Oturum açtıktan sonra, gösterge panosunun sol tarafında Sunucu Yönetimi altında Araçlar ve Ayarlar seçeneğini tıklayın.
  3. Şimdi, sağ taraftaki panelde, Araçlar ve Kaynaklar altında, Zamanlanmış Görevler'e tıklayın.
  4. Bir sonraki ekranda, Plesk Yönetici Kullanıcısı'na tıklayın
  5. Zamanlanmış Görevler ekranında, Araçlar altında Yeni Görev Ekle'ye tıklayın
  6. Aşağıdaki ekranda, istenen tüm bilgileri aşağıdaki resimde gösterildiği gibi sağlayın
  7. Şimdi biraz aşağı kaydırın ve Görev önceliği altındaki bölümde bir takvim göreceksiniz. Burada, komutunuzun hangi sıklıkta çalışacağını seçebilirsiniz. Bu örnek için Her gün, Her ay'ı seçtik ve Haftanın günleri altında da Her gün'ü seçtik.
  8. Komutunuzun çalışacağı farklı bir sıklık planlamak isterseniz, karşılık gelen onay kutularını seçmeniz yeterlidir. 
  9. Görevinizi gereksinimlerinize göre planlamayı bitirdiğinizde, seçimlerinizi sonlandırmak için Tamam'ı tıklamanız yeterlidir.

Ve şimdi, Plesk içindeki zamanlanmış görevler aracını kullanarak bir cron işini başarıyla planladınız.

Artık görevleri hem cPanel hem de Plesk kullanarak nasıl planlayacağınızı bildiğinize göre, cron işlerini gerektiği gibi planlamaya başlamaya hazır olmalısınız.

Cron Tablosu dosyası

Crontab (Cron tablosu), işteki Cron artışını şart koşan bir dosya formatıdır. Crontab belgeleri iki türe ayrılır.

  • Sistem genelinde crontab dosyaları
  • Bireysel kullanıcı crontab dosyaları


Tüketicilerin crontab belgeleri, tüketicinin adından sonra etiketlenir ve varış yerleri, işletim sistemine (işletim sistemi) bağlı olarak değişir.

Crontab belgeleri, /var/spool/cron/crontabs veritabanı Unix ve Debian'da işlenirken, CentOS dahil olmak üzere Red Cape tahsislerinde /var/spool/cron klasörüne kaydedilir.

Müşteri crontab belgelerini sırayla değiştirebilseniz de, crontab komut istemini kullanmanız önerilir.

/etc/crontab belgesi ve /etc/cron.d klasöründeki eklentiler, yalnızca yazılım geliştiricilerin erişebildiği platform crontab belgeleridir.

Kodlar /etc/cron.conf dizinine de yerleştirilebilir. Çoğu Linux dağıtımında saatlik, günlük, haftalık, aylık dosyalar ve bunlar her ay/hafta/gün/saatte bir uygulanacaktır.


Crontab Sözdizimi

Cron, çalıştırılacak bir talimat kataloğu için sistem ayarlarına bakar. Çekirdek, crontab kurulum masalarındaki bölümleri algılamak için belirli bir biçim kullanır.

Bir Cron görevi oluşturmak için öncelikle bu deyimi oluşturan temel bileşenleri anlamalıyız.

Yani, bir cron komutunun bileşenleri aşağıdaki gibidir:

  1. İlk beş sektör e, f, g, h, i işin periyodunu ve nüksünü belirtir.
  2. directory/command, ikinci bölümde yürütülecek yeri ve kodu belirtir.
  3. Son bölümün sonucu isteğe bağlıdır. İş tamamlandığında yapının müşteriyi nasıl bilgilendireceğini belirtir.

Cron Çalışma Süresi Şablonu

Komutun ilk beş sektörü, talimatın ne zaman ve ne sıklıkta çalıştığını açıklayan istatistiklerdir. Eşsiz bir değer anlamına gelen her rol, bir yörünge ile ayrılır.

Dağıtım İstemi

Yürütülecek komut aşağıdaki bölümde belirtilmiştir. Cron'un çalıştırmasını istediğiniz kod veya yönergelerin doğru veritabanını ve dosya türünü sembolize eder.

Sonuç

Cron çalıştığında, anahtar tarafından crontab dizininin istemcisine bir uyarı iletir. Bu, ödevlerin kaydını tutmak için pratik bir yöntemdir. Standart veya önemsiz ödevlerin posta kutunuzu hızla doldurabileceğini unutmayın.


Bu ek bir bileşen olduğundan, işlenen e-postayı kapatarak bu durumu önleyebilirsiniz. Posta sonucunu devre dışı bırakmak için, oluşturma ve bilgi istemi alanlarından sonra yeni sırayı yürütün: >/dev/null 2>&1.


Crontab Operatörleri

Cron sözdizimi ayrıca performans için operatörlerden yararlanır. Operatörler, Cron öznitelik değerlerinde etkili bir şekilde çalışan büyük iç kesimlerdir. 

  • Yıldız operatörü (*)


Yıldız operatörü herhangi bir önemi belirtir veya zaten. Saat alanında bir yıldız işareti (*) gördüğünüzü varsayalım, bu, işin her saat yapılacağı anlamına gelir. Tüm değerleri temsil eder. Bu operatörün kullanımı, tüm ay veya hafta boyunca çalışmayı toplamaktır.


  • Virgül Operatörü (,)


Virgül operatörünü kullanarak geri taşma için bir dizi öğe şart koşabilirsiniz. Aynı zamanda farklı benzersiz değerleri tanımlar.

Örneğin, Saat alanına 2,5,8 girerseniz, atama 02:00, 05:00 ve 08:00'de yürütülür.


  • Tire Operatörü (-)


Tire işlecini kullanarak bir dizi sonuç belirtebilirsiniz. Hafta içi alanına 2-5 girerseniz, atama hafta içi her gün yürütülür (Salıdan Cumaya). Aynı zamanda bir dizi parametreyi temsil eder.


  • Eğik çizgi Operatörü (/)


Eğik çizgi operatörü, aralarında belirli bir aralıkta tekrarlanacak değerleri belirlemenizi sağlar. Bu operatör, bir sayıyı çeşitli aşamalara ayırmak için de kullanılabilir.

Örneğin, Saat alanında */4 varsa, bu, eylemin her dört saatte bir gerçekleştirileceği anlamına gelir.