Skip to Content

Sunucunuzda Dönemsel Görevleri Ayarlamak

enbilulu, Per, 24/12/2009 - 01:22 tarihinde.

Cron belli zamanlarda ve aralıklarda istenilen komutları çalıştıran bir araçtır. Bu komutlar dönemsel görevler olarak adlandırabiliriz. Kullandığımız Windows pc sürümünde de yer alan zamanlanmış görevlere benzetebiliriz bunu.

Dönemsel görevler komutu

Aşağıdaki örnekte dönemsel görevler saat üzerinden otomatik olarak gerçekleştirilecektir.

 0 * * * * wget -O - -q -t 1 http://www.siteniz.com/cron.php

Yukarıdaki örnekte 0 * * * * görevin ne zaman gerçekleştirileceğini gösterir. İlk sayı olan 0 (sıfır) dakikaları göstermektedir. Yani bu örnekte görev her saat başında gerçekleştirilecektir. Eğer ilk sayı 15 olsaydı, görev her zaman x’i 15 geçe olarak gerçekleştirilecekti. Diğer sayılar sırası ile saat, gün, ay ve haftanın gününü göstermektedir. * bizim jokerimizdir. Yani her zaman anlamındadır. Bu kısımlardan sonraki kısım ise sunucuya adresi çalıştırmasını söyler.

# +---------------- dakika (0 - 59)
# | +------------- saat (0 - 23)
# | | +---------- ayın günü (1 - 31)
# | | | +------- ay (1 - 12)
# | | | | +---- haftanın günü (0 - 7) (Pazar=0 yada 7)
# | | | | |
* * * * * çalıştırılacak komut

Drupal dönemsel görevleri nasıl kullanıyor?

Sitenizin daha istikrarlı ve temiz bir şekilde yayın hayatına devam etmesi için güncellemeleri kontrol etmek, eski veritabanı kayıtlarını temizlemek gibi bazı bakım görevlerini gerçekleştirmesi gerekir. Drupal bunun için cron.php dosyasını kullanır. Bu dosya Drupal sistemi ile birlikte gelmektedir ve sonradan yüklemeniz gerekmez. Bu sayfa Drupal kurulumu ile birlikte kendiliğinden yüklenecektir ve sadece bu sayfayı ziyaret ederek sitenizi istikrarlı bir şekilde çalışmasını sağlayabilirsiniz.

Bu görevin ne kadar sıklık ile çalıştırılacağı tamamen sizin sitenize bağlıdır. Örnek vermek gerekirse kişisel sayfalar için (ortalama ziyaretçiye sahip) dönemsel görevler günde bir kere çalıştırılacak şekilde ayarlanabilirler. Fakat günlük hiti ve çevrimiçi kullanıcı sayısı fazla olan her gün onlarca içerik eklenen ve silinen, birçok değişiklikler yapılan siteler için bunu daha sık yapmalıyız. Bu rakamı 10dk’da 1’e kadar düşürmesi gereken siteler bile gördüm.

Dönemsel görevler sunucunuzun komut sistemi veya cpanel/Plesk gibi görsel web tabanlı kontrol panelleri yardımı ile gerçekleştirilebilir. Ayrıca hosting firmanızın sağladığı bir sistemde bulunabilir. Bunun için hosting firmanız ile iletişime geçebilirsiniz. Eğer paylaşımlı hosting kullanıyorsanız dönemsel görev ayarları kontrol panelinden bir yerlerde bulunması gerekir hatta bazı firmalar bunun için sanki program kurulumu yapıyormuş gibi işleyen yapılar sağlayabilirler.

Eğer hosting firmanız Cron’a erişmenize izin vermiyorsa ve bundan dolayı dönemsel görevleri ayarlayamıyorsanız. Bunun için birkaç şey önerebilirim.

  • İlk öncelikle bunu hosting firmanızla konuşun ve size bu izni verip veremeyeceklerini sorun. Eğer bazı nedenlerden dolayı (genellikle bazı shared – paylaşımlı hosting hizmeti veren firmalar) müşterilerine kısıtlamalar getirirler. Böyle bir durumda hosting firmasından sizin adınıza dönemsel görevleri ayarlamalarını isteyin.
  • Server’a erişimi olan birinden bunu gerçekleştirmesini isteyiniz.
  • SetCronJob gibi sitelere üye olarak da bu işlemi gerçekleştirebilirsiniz.
  • Bir Drupal eklentisi olan Poor Man’s Cron eklentisini kullanın

Dönemsel görevler sitenizin istikrarlı ve temiz bir şekilde çalışacağını garanti etmez fakat cron.php ne kadar çok çalıştırılırsa siteniz o kadar düzenli ve istikrarlı bir şekilde yayın hayatına devam edecektir.

Cron girdilerini denemek için Cron Sandbox’ı kullanabilirsiniz. Bu siteye girdiğiniz zaman sağ üst köşede Run ibaresinin yanında yer alan kısmı hemen aşağısındaki örnekte gibi doldurun ve Run’a basın sol tarafta cron.php dosyasının hangi vakitlerde çalıştırılacağı günü saati ve dakikası ile gösterilecektir.