cPanel’de Cron Job (Zamanlanmış Görev) Oluşturma
Kısa yanıt: cPanel › Gelişmiş › Cron İşleri (Cron Jobs) ekranında zaman aralığını “Ortak Ayarlar” menüsünden seçin veya beş alanı elle doldurun, “Komut” alanına çalıştırılacak komutu yazıp “Yeni Cron İşi Ekle” düğmesine basın.
Bu rehber kimin için: Zamanlanmış görev kuran site sahipleri · Gereken süre: 10 dakika · Seviye: Orta
Cron işleri yedekleme, e-bülten gönderimi, stok güncelleme veya WordPress’in zamanlanmış görevleri gibi işleri belirli aralıklarla otomatik çalıştırır. Paylaşımlı hostingte çok sık çalışan görevler kaynak sınırlarına takılabilir; çoğu iş için 5-15 dakikalık aralık yeterlidir.
Cron işi ekleme
- Ekranı açın: cPanel › Gelişmiş › Cron İşleri.
- Bildirim e-postasını ayarlayın: “Cron E-postası” alanı, çıktı üreten her çalışmada e-posta gönderir. Test sırasında açık tutun, sonra komut sonuna yönlendirme ekleyerek kapatın.
- Zamanı seçin: “Ortak Ayarlar” menüsünden “Her 15 dakikada bir” gibi bir seçenek seçin veya dakika, saat, gün, ay, hafta günü alanlarını doldurun.
- Komutu yazın: PHP betiği için tam yollar kullanın (aşağıdaki örnek). Kullanıcı adınızı kendi cPanel kullanıcı adınızla değiştirin.
- Kaydedin ve kontrol edin: “Yeni Cron İşi Ekle”ye basın; görev “Geçerli Cron İşleri” listesinde görünür.
/usr/local/bin/php /home/kullaniciadi/public_html/cron.php >/dev/null 2>&1WordPress için sistem cron’u
wp-config.php dosyasına define('DISABLE_WP_CRON', true); satırını ekleyin ve wp-cron.php dosyasını 5-15 dakikada bir çalıştıran bir cron işi tanımlayın. Böylece WordPress görevleri ziyaretçi isteklerine bağlı kalmaz ve sayfalar daha hızlı yanıt verir. Zaman ifadesini oluşturmak ve sonraki çalışma zamanlarını görmek için cron ifadesi oluşturucu aracımızı kullanabilirsiniz.
Zaman ifadesi ve URL çağırma örnekleri
Beş alan sırasıyla dakika, saat, ayın günü, ay ve haftanın günüdür. Yıldız “her” anlamına gelir; eğik çizgi ve sayı, “o kadar birimde bir” demektir. Sık kullanılan ifadeler:
| İfade | Ne zaman çalışır |
|---|---|
*/15 * * * * | 15 dakikada bir |
0 * * * * | Her saat başı |
0 3 * * * | Her gün 03.00’te |
30 2 * * 1 | Her pazartesi 02.30’da |
0 4 1 * * | Her ayın 1’inde 04.00’te |
Kendi ifadenizi cron ifadesi oluşturucu ile hazırlayıp sonraki çalışma zamanlarını görebilirsiniz.
Görevi bir web adresiyle tetiklemek
Bazı uygulamalar zamanlanmış görev için PHP dosyası yerine bir adres verir. Bu durumda Komut alanına curl -s "https://alanadiniz.com/gorev-adresi" >/dev/null 2>&1 gibi bir satır yazın. Görev dosyası hesabınızdaysa PHP komutuyla doğrudan çalıştırmak daha iyidir: adres çağrısı web sunucusundan geçtiği için zaman aşımına takılabilir ve her çalışmada bir web isteği harcar. Görev adresini herkesin tetikleyebileceği biçimde bırakmayın; uygulamanız izin veriyorsa adrese tahmin edilemeyen bir anahtar ekleyin.
Hâlâ çözülmediyse
Görev çalışmıyorsa >/dev/null 2>&1 kısmını geçici olarak >> /home/kullaniciadi/cron.log 2>&1 ile değiştirip günlüğe bakın; en yaygın hata yanlış dosya yoludur. Sunucunun saat dilimi İstanbul saatinden farklı olabilir; görevin gerçekte hangi saatte çalıştığını günlük dosyasına düşen kayıtların zamanından kontrol edip zamanlamayı buna göre ayarlayın. Dakikalık görevlere ihtiyacınız varsa VPS sunucu daha uygundur.
Sık sorulan sorular
Cron’u her dakika çalıştırabilir miyim?
Teknik olarak mümkündür ancak paylaşımlı hostingte kaynak limitlerinize takılabilir ve önerilmez.
PHP yolu nedir?
Çoğu cPanel sunucusunda /usr/local/bin/php kullanılır; seçili sürüme göre farklı yollar olabilir, destek ekibinden öğrenebilirsiniz.
Eklediğim cron işini nasıl düzenler veya silerim?
Cron İşleri ekranının altındaki “Geçerli Cron İşleri” listesinde görevin satırındaki düzenleme (Edit) ya da silme (Delete) bağlantısını kullanın. Düzenledikten sonra görevi ilk çalışmasında günlük dosyası ya da cron e-postasıyla kontrol edin.
İlgili rehberler
- WordPress Zamanlanmış Yazı Yayınlanmadı (Missed Schedule)
- cPanel Kaynak Kullanımı: CPU, RAM ve EP Limitleri
- cPanel Hata Kayıtları (error_log) Nasıl İncelenir?
Bu rehber işinize yaradı mı?
Teşekkürler. Çözüm bulamadıysanız destek talebi açın veya [email protected] adresine yazın.