cPanel’de Cron Jobs Nasıl Eklenir?

Sesli oku Yazıyı beğen Favorilere Ekle 0 Yorumlar

Web sitesi yönetiminde bazı işlemlerin belirli aralıklarla otomatik olarak çalışması gerekebilir. Örneğin yedekleme almak, e-posta göndermek, stok güncellemek, cache temizlemek, rapor oluşturmak, veritabanı işlemi yapmak veya belirli bir PHP dosyasını düzenli çalıştırmak isteyebilirsiniz. Bu tür otomatik görevler için kullanılan sistemlerden biri Cron Jobs özelliğidir.

cPanel kullanan web sitesi sahipleri, Cron Jobs alanı üzerinden belirli komutları veya dosyaları zamanlayarak otomatik şekilde çalıştırabilir. Böylece manuel olarak yapılması gereken bazı işlemler sistem tarafından belirli saatlerde veya belirli aralıklarla çalıştırılır.

Cron Jobs özellikle WordPress hosting, cPanel hosting, e-ticaret hosting ve özel yazılım projelerinde sık kullanılan önemli bir otomasyon özelliğidir.

Cron Job Nedir?

Cron job, Linux tabanlı sistemlerde belirli komutların veya script dosyalarının belirlenen zaman aralıklarında otomatik olarak çalıştırılmasını sağlayan görev zamanlama sistemidir. “Cron” zamanlayıcı sistemin adıdır, “job” ise çalıştırılacak görevi ifade eder.

Kısaca cron job, belirli bir işlemi belirli bir zamanda veya periyodik olarak çalıştırma işlemidir.

Örneğin:

  • Her gece saat 03:00’te yedekleme yapmak
  • Her 15 dakikada bir stok güncellemek
  • Her saat başı rapor oluşturmak
  • Her gün belirli saatte e-posta göndermek
  • Haftalık cache temizlemek
  • Belirli PHP dosyasını otomatik çalıştırmak

gibi işlemler cron job ile yapılabilir. Bu yapı özellikle tekrarlayan teknik işlemleri manuel olarak yapmak istemeyen kullanıcılar için büyük kolaylık sağlar.

cPanel Cron Jobs Ne İşe Yarar?

cPanel Cron Jobs, hosting hesabınızda belirli komutları otomatik çalıştırmanızı sağlar. Özellikle PHP tabanlı web sitelerinde, WordPress eklentilerinde, özel yazılımlarda ve e-ticaret sistemlerinde zamanlanmış görevler sıkça kullanılır.

cPanel Cron Jobs ile yapılabilecek işlemler:

  • PHP dosyası çalıştırma
  • Veritabanı bakım işlemleri
  • Otomatik yedekleme komutları
  • Cache temizleme işlemleri
  • Rapor oluşturma
  • E-posta bildirimleri gönderme
  • Stok veya fiyat güncelleme
  • API veri çekme
  • Otomatik sipariş kontrolü
  • Log dosyası temizleme
  • Abonelik veya üyelik kontrolü
  • Sistem bakım görevleri

Bu özellik, web sitesi yönetiminde zaman kazandırır ve tekrar eden işlemlerin düzenli çalışmasını sağlar. Özellikle WooCommerce sitelerinde stok, sipariş ve entegrasyon işlemleri için cron görevleri önemli hale gelebilir.

cPanel’de Cron Jobs Nerede Bulunur?

cPanel paneline giriş yaptıktan sonra Cron Jobs alanı genellikle “Advanced” yani “Gelişmiş” bölümünde yer alır. Bazı hosting firmalarında panel dili Türkçe ise bu alan Zamanlanmış Görevler veya Cron Görevleri olarak da görünebilir.

Genel yol şu şekildedir:

cPanel > Advanced / Gelişmiş > Cron Jobs

veya Türkçe panelde:

cPanel > Gelişmiş > Cron Görevleri

Bu bölüme girerek yeni cron görevi ekleyebilir, mevcut görevleri düzenleyebilir veya silebilirsiniz. cPanel arayüzünü daha iyi tanımak için cPanel nedir? rehberi incelenebilir.

cPanel’de Cron Jobs Nasıl Eklenir?

cPanel’de cron job eklemek için öncelikle çalıştırılacak komutun ve zaman aralığının belirlenmesi gerekir. Ardından cPanel’de Cron Jobs bölümünden görev tanımı yapılır.

Genel adımlar şu şekildedir:

  1. cPanel hesabınıza giriş yapın.
  2. Cron Jobs bölümünü açın.
  3. Cron e-posta ayarını kontrol edin.
  4. “Add New Cron Job” alanına gelin.
  5. Zamanlama aralığını seçin.
  6. Çalıştırılacak komutu yazın.
  7. “Add New Cron Job” butonuna tıklayın.
  8. Görevin listeye eklendiğini kontrol edin.
  9. Cron çıktısı varsa test edin.
  10. Gereksiz e-posta bildirimlerini düzenleyin.

Bu adımlar tamamlandığında cron job belirlediğiniz zaman aralığında otomatik çalışmaya başlar.

cPanel Hesabınıza Giriş Yapın

İlk adım olarak hosting firmanızın size verdiği cPanel bilgileriyle panele giriş yapmanız gerekir. cPanel giriş adresi genellikle şu formatlardan biri olabilir:

siteadi.com/cpanel

veya

siteadi.com:2083

Giriş yaptıktan sonra panel ana ekranında Cron Jobs bölümünü arayın. cPanel erişimi ve hosting yönetimi konusunda yeniyseniz hosting nasıl satın alınır? ve hangi hosting paketini almalıyım? içerikleri de faydalı olabilir.

Cron Jobs Bölümünü Açın

cPanel ana ekranında arama kutusuna “cron” yazarak Cron Jobs bölümüne hızlıca ulaşabilirsiniz. Bu bölüm genellikle gelişmiş ayarlar içerisinde bulunur.

Cron Jobs sayfasında şu alanları görebilirsiniz:

  • Cron e-posta ayarı
  • Yeni cron job ekleme alanı
  • Zamanlama seçenekleri
  • Komut alanı
  • Mevcut cron job listesi
  • Düzenleme ve silme seçenekleri

Yeni görev eklemek için “Add New Cron Job” bölümünü kullanmanız gerekir.

Cron Email Ayarını Kontrol Edin

cPanel’de cron job çalıştığında, komut bir çıktı üretirse bu çıktı e-posta olarak gönderilebilir. Bu nedenle Cron Email alanı önemlidir.

Cron e-posta ayarında dikkat edilmesi gerekenler:

  • E-posta adresi doğru olmalı
  • Gereksiz bildirimler engellenmeli
  • Sürekli çalışan cronlarda mail kutusu dolmamalı
  • Test sürecinde bildirim açık bırakılabilir
  • Sorunsuz çalışan cronlarda çıktı yönlendirme yapılabilir

Cron job sürekli çıktı üretiyorsa mail kutunuz kısa sürede dolabilir. Bu durumda komutun sonuna çıktı yönlendirme eklenebilir.

Örnek çıktı kapatma:

/usr/local/bin/php /home/kullanici/public_html/cron.php >/dev/null 2>&1

Bu kullanım, cron çıktılarının e-posta olarak gönderilmesini engeller. E-posta tarafında sorun yaşamamak için mail hosting, SMTP, spam mail ve SPF kaydı gibi konular da dikkate alınmalıdır.

Zamanlama Aralığını Seçin

Cron job eklerken en önemli alanlardan biri zamanlama bölümüdür. cPanel, hazır zamanlama seçenekleri sunabilir. Örneğin dakikada bir, saatte bir, günde bir, haftada bir veya ayda bir gibi seçenekler kullanılabilir.

Cron zamanlama alanları şunlardır:

  • Minute / Dakika
  • Hour / Saat
  • Day / Gün
  • Month / Ay
  • Weekday / Haftanın günü

Cron zaman formatı beş bölümden oluşur:

* * * * *

Bu yapı sırasıyla şunları ifade eder:

Dakika Saat Gün Ay Haftanın Günü

Örneğin:

0 3 * * *

Bu ifade, görevin her gün saat 03:00’te çalışacağını belirtir.

Çalıştırılacak Komutu Yazın

Cron job’un çalışması için komut alanına doğru komut yazılmalıdır. Bu komut bir PHP dosyasını çalıştırabilir, sistem komutu çalıştırabilir veya belirli bir URL’yi tetikleyebilir.

PHP dosyası çalıştırmak için örnek komut:

/usr/local/bin/php /home/kullanici/public_html/cron.php

Wget ile URL tetiklemek için örnek komut:

wget -q -O - https://siteadi.com/cron.php >/dev/null 2>&1

Curl ile URL tetiklemek için örnek komut:

curl -s https://siteadi.com/cron.php >/dev/null 2>&1

Komut alanında yanlış dosya yolu veya hatalı PHP yolu kullanılırsa cron çalışmayabilir. Bu tür durumlarda dosya yolu, PHP sürümü, izinler ve hata kayıtları kontrol edilmelidir.

PHP Cron Job Nasıl Eklenir?

cPanel’de en sık kullanılan cron türlerinden biri PHP dosyası çalıştırma işlemidir. Özel yazılımlar, e-ticaret sistemleri ve bazı WordPress eklentileri belirli PHP dosyalarının düzenli çalışmasını isteyebilir.

PHP cron job örneği:

/usr/local/bin/php /home/kullanici/public_html/cron.php

Burada:

  • /usr/local/bin/php PHP çalıştırıcı yoludur.
  • /home/kullanici/public_html/cron.php çalıştırılacak PHP dosyasının yoludur.

Bazı sunucularda PHP yolu farklı olabilir. Hosting firmanızdan doğru PHP yolunu öğrenebilirsiniz.

Alternatif PHP komut örnekleri:

/usr/bin/php /home/kullanici/public_html/cron.php
/opt/cpanel/ea-php82/root/usr/bin/php /home/kullanici/public_html/cron.php

PHP sürümü farklıysa komut yolu da değişebilir. Özel yazılım projelerinde Laravel hosting, Node.js hosting veya Python hosting gibi altyapılar farklı görev zamanlama ihtiyaçları oluşturabilir.

Belirli PHP Sürümü ile Cron Çalıştırma

Bazı web siteleri belirli PHP sürümlerine ihtiyaç duyar. cPanel sunucularında farklı PHP sürümleri bulunabilir. Bu durumda cron komutunda ilgili PHP sürümünün yolu kullanılmalıdır.

Örnek PHP 8.2 cron komutu:

/opt/cpanel/ea-php82/root/usr/bin/php /home/kullanici/public_html/cron.php

Örnek PHP 8.1 cron komutu:

/opt/cpanel/ea-php81/root/usr/bin/php /home/kullanici/public_html/cron.php

Bu yöntem, sitenizin kullandığı PHP sürümüyle cron dosyasının da aynı sürümde çalışmasına yardımcı olur. PHP ve veritabanı tabanlı sistemlerde SQL ve veritabanı yönetimi konularını bilmek de önemlidir.

URL ile Cron Job Çalıştırma

Bazı sistemlerde cron dosyası doğrudan sunucu yolu üzerinden değil, URL üzerinden tetiklenir. Bu durumda wget veya curl komutları kullanılabilir.

Wget örneği:

wget -q -O - https://siteadi.com/cron.php >/dev/null 2>&1

Curl örneği:

curl -s https://siteadi.com/cron.php >/dev/null 2>&1

URL ile cron çalıştırmak pratik olabilir; ancak dosyanın herkese açık şekilde erişilebilir olması güvenlik riski oluşturabilir. Bu nedenle gerekiyorsa güvenlik anahtarı veya erişim kısıtlaması kullanılmalıdır. Web sitesinin HTTPS üzerinden güvenli çalışması için Let’s Encrypt ücretsiz SSL kurulumu ve alt alan adları için Wildcard SSL değerlendirilebilir.

WordPress İçin cPanel Cron Job Ayarlama

WordPress, varsayılan olarak kendi zamanlama sistemi olan WP-Cron yapısını kullanır. Ancak WP-Cron, gerçek sistem cron mantığıyla çalışmaz; genellikle site ziyaret edildiğinde tetiklenir. Trafiği düşük sitelerde zamanlanmış işlemler gecikebilir.

Daha sağlıklı bir yapı için WordPress WP-Cron devre dışı bırakılıp cPanel cron job ile çalıştırılabilir.

Önce wp-config.php dosyasına şu satır eklenebilir:

define('DISABLE_WP_CRON', true);

Ardından cPanel Cron Jobs alanına şu komut eklenebilir:

wget -q -O - https://siteadi.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

veya:

curl -s https://siteadi.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Bu yapı, WordPress zamanlanmış görevlerinin daha düzenli çalışmasına yardımcı olabilir.

WordPress yönetiminde WordPress upload limit artırma, WordPress site taşıma, WordPress beyaz ekran hatası ve WordPress güvenlik eklentileri gibi konular da cron yapılandırması kadar önemlidir.

WooCommerce İçin Cron Jobs Kullanımı

WooCommerce sitelerinde sipariş kontrolleri, stok güncellemeleri, abonelik işlemleri, e-posta gönderimleri ve entegrasyonlar zamanlanmış görevlerle çalışabilir. Yoğun trafiğe sahip WooCommerce sitelerinde cron görevlerinin düzenli çalışması önemlidir.

WooCommerce için cron job şu işlemlerde kullanılabilir:

  • Sipariş durumu kontrolü
  • Stok güncelleme
  • Abonelik yenileme
  • Rapor oluşturma
  • E-posta bildirimleri
  • Entegrasyon veri çekme
  • Fatura veya kargo işlemleri
  • Ürün feed güncelleme

WooCommerce sitelerinde cron ayarı yapılmadan önce kullanılan eklentilerin dokümantasyonu incelenmelidir. Daha güçlü altyapı ihtiyacı olan mağazalarda e-ticaret hosting, VDS sunucu, bulut sunucu veya dedicated server seçenekleri değerlendirilebilir.

Yaygın Cron Zamanlama Örnekleri

Cron job zamanlama ifadeleri başlangıçta karmaşık görünebilir. Aşağıdaki örnekler en sık kullanılan zamanlama yapılarını gösterir.

Her dakika çalıştırma:

* * * * *

Her 5 dakikada bir çalıştırma:

*/5 * * * *

Her 15 dakikada bir çalıştırma:

*/15 * * * *

Her saat başı çalıştırma:

0 * * * *

Her gün gece 03:00’te çalıştırma:

0 3 * * *

Her pazartesi saat 04:00’te çalıştırma:

0 4 * * 1

Her ayın 1’inde saat 02:00’de çalıştırma:

0 2 1 * *

Bu ifadeler cPanel’de manuel olarak girilebilir veya hazır seçeneklerden seçilebilir.

Cron Jobs Çok Sık Çalıştırılırsa Ne Olur?

Cron job’ların çok sık çalıştırılması sunucu kaynaklarını yorabilir. Özellikle ağır çalışan PHP dosyaları veya veritabanı işlemleri sık aralıklarla çalıştırılırsa CPU ve RAM kullanımı artabilir.

Çok sık cron çalıştırmanın olası sonuçları:

  • Site yavaşlayabilir.
  • Hosting kaynak limiti aşılabilir.
  • Veritabanı yoğunluğu artabilir.
  • Sunucu yanıt süresi uzayabilir.
  • Hosting firması cron kullanımını sınırlayabilir.
  • Mail bildirimleri gereksiz artabilir.

Bu nedenle cron job aralığı ihtiyaca göre belirlenmelidir. Her işlem için dakikada bir cron çalıştırmak doğru değildir. Kaynak tüketimi yüksek sitelerde bandwidth, hosting trafik limiti, load balancer ve SLA gibi konular da değerlendirilmelidir.

Cron Job Güvenliği Nasıl Sağlanır?

Cron job çalıştırılan dosyalar güvenlik açısından dikkatli yönetilmelidir. Özellikle URL üzerinden çalışan cron dosyaları herkese açık erişime sahipse kötüye kullanılabilir.

Güvenlik için öneriler:

  • Cron dosyalarını tahmin edilmesi zor isimlerle oluşturun.
  • Gerekirse güvenlik anahtarı kullanın.
  • URL tabanlı cronlarda token parametresi ekleyin.
  • Dosya izinlerini kontrol edin.
  • Komutları yalnızca gerekli yetkilerle çalıştırın.
  • Cron dosyasında hassas bilgiler bırakmayın.
  • Log dosyalarını düzenli kontrol edin.
  • Gereksiz cronları silin.
  • Çok sık çalışan görevlerden kaçının.

Örnek güvenlik anahtarlı URL:

https://siteadi.com/cron.php?key=guvenliAnahtar

Bu yöntem, cron dosyasının rastgele çalıştırılma riskini azaltabilir. Sunucu güvenliği için CSF Firewall, Fail2Ban, Linux sunucuyu ping erişimine kapatma ve DNS spoofing konuları da önemlidir.

Cron Job Çalışıyor mu Nasıl Test Edilir?

Cron job ekledikten sonra çalışıp çalışmadığını test etmek önemlidir. Çünkü yanlış dosya yolu, hatalı komut veya izin sorunları nedeniyle görev çalışmayabilir.

Test yöntemleri:

  • Cron komutunu manuel olarak terminalde çalıştırmak
  • Webmail veya e-posta çıktısını kontrol etmek
  • Log dosyası oluşturmak
  • PHP dosyasına test çıktısı eklemek
  • Veritabanında işlem oluşup oluşmadığını kontrol etmek
  • Dosya güncelleme tarihi kontrol etmek
  • Hosting destek ekibinden log istemek

Basit log örneği:

file_put_contents(__DIR__ . '/cron-log.txt', date('Y-m-d H:i:s') . " cron çalıştı\n", FILE_APPEND);

Bu kod, cron dosyası çalıştığında log dosyasına tarih ve saat ekler. Log takibi, hata tespiti ve performans değerlendirmesi için düzenli kontrol yapılmalıdır.

Cron Job Çalışmıyorsa Ne Yapılmalı?

cPanel’de cron job eklediğiniz halde çalışmıyorsa birkaç farklı neden olabilir. Öncelikle komut ve dosya yolu kontrol edilmelidir.

Kontrol edilmesi gerekenler:

  • Dosya yolu doğru mu?
  • PHP yolu doğru mu?
  • Dosya izinleri uygun mu?
  • Komutta yazım hatası var mı?
  • URL erişilebilir mi?
  • Sunucuda curl veya wget aktif mi?
  • PHP dosyası hata veriyor mu?
  • Cron e-posta çıktısı geliyor mu?
  • Zamanlama ifadesi doğru mu?
  • Hosting firması cron sıklığını sınırlandırıyor mu?

Sorunu anlamak için cron çıktısını geçici olarak e-posta ile almak veya log dosyası oluşturmak faydalı olabilir. Web sitesi erişim hatalarında HTTP durum kodları, 403 hatası, 502 Bad Gateway, 503 Service Unavailable ve ERR_CONNECTION_RESET içerikleri de yol gösterici olabilir.

Cron Jobs Silme ve Düzenleme

cPanel’de eklenmiş cron job’ları daha sonra düzenleyebilir veya silebilirsiniz. Cron Jobs sayfasının alt kısmında mevcut görevler listelenir.

Bu bölümde genellikle şu işlemler yapılabilir:

  • Cron görevini düzenleme
  • Komutu değiştirme
  • Zamanlama aralığını değiştirme
  • Görevi tamamen silme
  • Mevcut komutu kontrol etme

Kullanılmayan cron job’lar mutlaka silinmelidir. Gereksiz görevler sunucu kaynaklarını tüketebilir. Özellikle paylaşımlı hosting paketlerinde kaynak kullanımı sınırları daha hızlı etkilenebilir.

cPanel Cron Jobs Kullanırken Sık Yapılan Hatalar

Cron job eklerken yapılan bazı hatalar görevin çalışmamasına veya sunucu kaynaklarının gereksiz kullanılmasına neden olabilir.

Sık yapılan hatalar:

  • Yanlış PHP yolu kullanmak
  • Yanlış dosya yolu yazmak
  • Cron komutunda boşluk veya karakter hatası yapmak
  • Çok sık zamanlama seçmek
  • Çıktıları kapatmadığı için mail kutusunu doldurmak
  • Güvenliksiz URL cron kullanmak
  • PHP dosyasındaki hataları kontrol etmemek
  • Log tutmamak
  • Eski cron görevlerini silmemek
  • Yanlış PHP sürümüyle çalıştırmak

Bu hatalardan kaçınmak için cron eklemeden önce komut dikkatle kontrol edilmelidir. Hosting altyapısı yeterli değilse hosting satın alırken dikkat edilmesi gerekenler ve Türkiye’nin en iyi hosting firmaları rehberleri üzerinden daha uygun paketler değerlendirilebilir.

cPanel Cron Jobs İçin Kontrol Listesi

Cron job eklemeden önce şu listeyi kontrol edebilirsiniz:

  • Çalıştırılacak dosya hazır mı?
  • Dosya yolu doğru mu?
  • PHP yolu doğru mu?
  • Doğru PHP sürümü seçildi mi?
  • Zamanlama aralığı uygun mu?
  • Çok sık çalışıyor mu?
  • Çıktı yönlendirmesi gerekli mi?
  • Güvenlik anahtarı kullanılmalı mı?
  • Log dosyası oluşturuldu mu?
  • Test çalıştırması yapıldı mı?
  • Gereksiz cronlar silindi mi?

Bu kontrol listesi, cPanel cron job kurulumunun daha sorunsuz yapılmasına yardımcı olur.

cPanel’de Cron Jobs ile Otomatik Görevler Kolayca Yönetilebilir

cPanel’de Cron Jobs eklemek, web sitenizde belirli işlemleri otomatik olarak çalıştırmanın pratik bir yoludur. PHP dosyalarını zamanlamak, WordPress cron sistemini düzenlemek, yedekleme, raporlama, stok güncelleme, cache temizleme ve entegrasyon işlemlerini otomatik hale getirmek için cron job kullanılabilir.

Cron job eklerken zamanlama aralığı, PHP yolu, dosya yolu, komut yapısı, çıktı yönlendirme, güvenlik ve test işlemleri dikkatle yapılmalıdır. Yanlış yapılandırılan cron görevleri çalışmayabilir veya sunucu kaynaklarını gereksiz yere yorabilir.

Kısacası cPanel’de Cron Jobs nasıl eklenir sorusunun cevabı; cPanel’de Cron Jobs bölümüne girerek uygun zaman aralığını seçmek, çalıştırılacak komutu doğru şekilde yazmak ve görevin sorunsuz çalıştığını test etmektir.

Hosting, cPanel, WordPress, sunucu güvenliği ve web sitesi yönetimi hakkında daha fazla rehber için Hangi Hosting içeriklerini inceleyebilirsiniz.

Bu yazıya tepkin ne?

Yazar Hakkında

Benzer Yazılar

Bir Cevap Yaz

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir.

0/30 karakter