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 Job Nedir?
- cPanel Cron Jobs Ne İşe Yarar?
- cPanel’de Cron Jobs Nerede Bulunur?
- cPanel’de Cron Jobs Nasıl Eklenir?
- PHP Cron Job Nasıl Eklenir?
- Belirli PHP Sürümü ile Cron Çalıştırma
- URL ile Cron Job Çalıştırma
- WordPress İçin cPanel Cron Job Ayarlama
- WooCommerce İçin Cron Jobs Kullanımı
- Yaygın Cron Zamanlama Örnekleri
- Cron Jobs Çok Sık Çalıştırılırsa Ne Olur?
- Cron Job Güvenliği Nasıl Sağlanır?
- Cron Job Çalışıyor mu Nasıl Test Edilir?
- Cron Job Çalışmıyorsa Ne Yapılmalı?
- Cron Jobs Silme ve Düzenleme
- cPanel Cron Jobs Kullanırken Sık Yapılan Hatalar
- cPanel Cron Jobs İçin Kontrol Listesi
- cPanel’de Cron Jobs ile Otomatik Görevler Kolayca Yönetilebilir
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:
- cPanel hesabınıza giriş yapın.
- Cron Jobs bölümünü açın.
- Cron e-posta ayarını kontrol edin.
- “Add New Cron Job” alanına gelin.
- Zamanlama aralığını seçin.
- Çalıştırılacak komutu yazın.
- “Add New Cron Job” butonuna tıklayın.
- Görevin listeye eklendiğini kontrol edin.
- Cron çıktısı varsa test edin.
- 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/phpPHP ç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
curlveyawgetaktif 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.
Bir Cevap Yaz
E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir.