cPanel’de Cron Job Nasıl Oluşturulur? Zamanlanmış Görev Rehberi
cPanel’de Cron Job oluşturmak, belirli komutları veya scriptleri otomatik olarak istediğimiz zamanlarda çalıştırmamızı sağlar. Yedekleme, veri temizleme, API çağrıları, Laravel Scheduler, PHP scriptleri ve düzenli bakım işlemleri için cron görevlerinden yararlanabiliriz.
cPanel Cron Jobs arayüzü sayesinde Linux komut satırında manuel olarak crontab düzenlemek yerine görevlerimizi panel üzerinden oluşturabiliriz. Bu rehberde cron zamanlamalarını, PHP script çalıştırmayı, e-posta bildirimlerini ve güvenli kullanım için dikkat edilmesi gereken noktaları anlatıyoruz.

Cron Job Nedir?
Cron Job, Linux sistemlerde belirli bir komutun veya scriptin önceden belirlenmiş zamanlarda otomatik şekilde çalıştırılmasını sağlayan zamanlayıcıdır.
Örneğin her gün saat 03:00’te çalışan bir script:
0 3 * * * /home/user/scripts/backup.sh
şeklinde tanımlanabilir.
cPanel’de bu işlemleri paneldeki Cron Jobs arayüzünden yönetebiliriz.
cPanel Cron Jobs resmi dokümantasyonunu inceleyebilirsiniz.
cPanel’de Cron Jobs Nerede Bulunur?
cPanel hesabımıza giriş yaptıktan sonra:
cPanel
→ Advanced
→ Cron Jobs
yolunu kullanıyoruz.
Bu bölümde hem yeni cron görevi oluşturabilir hem de daha önce oluşturduğumuz görevleri görüntüleyip düzenleyebiliriz.
1. cPanel’de Yeni Cron Job Nasıl Oluşturulur?
cPanel’de Cron Job oluşturmak için öncelikle Cron Jobs sayfasını açıyoruz.
- cPanel hesabımıza giriş yapıyoruz.
- Advanced bölümünü açıyoruz.
- Cron Jobs seçeneğine tıklıyoruz.
- Gerekirse cron bildirim e-posta adresini belirliyoruz.
- Çalışma zamanını seçiyoruz.
- Çalıştırılacak komutu giriyoruz.
- Add New Cron Job butonuna basıyoruz.

2. Cron Job Zamanlama Alanları Nelerdir?
cPanel Cron Jobs ekranında görev zamanlaması için beş temel alan bulunur:
- Minute: Dakika
- Hour: Saat
- Day: Ayın günü
- Month: Ay
- Weekday: Haftanın günü
Bu alanlar birlikte kullanılarak görevin ne zaman çalışacağını belirleriz.
3. Her Dakika Çalışan Cron Job
Bir görevin her dakika çalışmasını istiyorsak:
* * * * * /home/user/scripts/test.php
gibi bir zamanlama kullanılabilir.
cPanel arayüzünde bunun yerine Once Per Minute seçeneğini kullanmak da mümkündür.
Ancak her dakikada çalışan görevler sunucu kaynaklarını ciddi şekilde tüketebileceği için gerçekten gerekli olmadıkça bu kadar sık cron çalıştırmanızı önermiyoruz.
4. Her 5 Dakikada Bir Cron Job
Bir scripti her 5 dakikada bir çalıştırmak için:
*/5 * * * * /home/user/scripts/task.sh
kullanılabilir.
Bu yöntem API kontrolü, queue polling veya kısa aralıklarla gerçekleştirilmesi gereken bakım işlemlerinde kullanılabilir.
5. Her Saat Çalışan Cron Job
Görevin her saat başında çalışmasını istiyorsak:
0 * * * * /home/user/scripts/task.sh
şeklinde bir cron ifadesi kullanabiliriz.
cPanel arayüzündeki Once Per Hour seçeneği de aynı amaçla kullanılabilir.
6. Her Gün Belirli Saatte Çalışan Cron Job
Örneğin her gün saat 03:00’te çalışacak görev için:
0 3 * * * /home/user/scripts/daily.sh
kullanabiliriz.
Gece saatlerinde çalışan backup, log temizliği veya raporlama işlemleri için bu yapı oldukça kullanışlıdır.
7. cPanel’de PHP Cron Job Nasıl Çalıştırılır?
PHP tabanlı bir script çalıştırmak için PHP yorumlayıcısının tam yolunu kullanmamız daha sağlıklı olur.
Örneğin:
/usr/local/bin/php /home/user/public_html/cron.php
cPanel’in güncel Cron Jobs dokümantasyonunda da PHP scriptleri için mutlak PHP binary ve script yolu kullanımına örnek verilmektedir.
Sunucuda domain bazında farklı PHP sürümleri kullanılıyorsa ilgili PHP binary yolunu kontrol etmeliyiz.
8. cPanel’de PHP Sürümüne Özel Cron Job
Birden fazla PHP sürümü kullanılan sunucularda CLI tarafında kullanılan PHP ile web sitesinin PHP sürümü farklı olabilir.
Bu nedenle örneğin belirli bir PHP sürümü için Plesk’teki gibi özel binary yolu kullanılan sistemlerde cPanel sunucusunun mevcut PHP yapılandırmasını kontrol etmeliyiz.
Örneğin:
/usr/local/bin/php -v
ile CLI PHP sürümünü görebiliriz.
Sunucu yöneticisi olarak farklı EasyApache PHP handler’larını da kontrol etmemiz gerekebilir.
9. Laravel için cPanel Cron Job
Laravel projelerinde scheduler kullanıyorsak cron üzerinden Laravel’in scheduler komutunu çalıştırabiliriz.
Örneğin:
* * * * * cd /home/user/laravel-app && php artisan schedule:run >> /dev/null 2>&1
Bu yapı Laravel Scheduler’ın her dakika kontrol edilmesini sağlar.
Ancak proje yolu ve PHP binary yolu sunucudaki yapıya göre değiştirilmelidir.
10. WordPress için cPanel Cron Job
WordPress sitelerinde WP-Cron yerine gerçek sistem cron’u kullanmak bazı projelerde daha kontrollü bir yapı sağlayabilir.
Örneğin:
wget -q -O - https://example.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
gibi bir komut kullanılabilir.
Ancak bu yöntemin sitenin cache, güvenlik ve WordPress yapılandırmasıyla uyumlu olması gerekir.
11. Cron Job ile Shell Script Çalıştırma
PHP dışında Bash veya başka bir executable script de çalıştırabiliriz.
Örneğin:
#!/bin/bash
date >> /home/user/cron-test.log
dosyasını:
/home/user/scripts/test.sh
olarak kaydettiysek cron komutu:
/home/user/scripts/test.sh
şeklinde olabilir.
Custom script kullanıyorsak çalıştırma izinlerini de kontrol etmeliyiz.
12. Cron Job Dosya İzinleri
Bir shell script cron tarafından çalıştırılıyorsa executable permission gerektirebilir.
Örneğin:
chmod +x /home/user/scripts/test.sh
komutuyla scripti çalıştırılabilir hale getirebiliriz.
Ancak dosya izinlerini gereğinden fazla genişletmemeliyiz. Özellikle:
chmod 777
gibi geniş yetkiler vermek yerine yalnızca gerekli izinleri tanımlamak daha güvenlidir.
13. Cron Job Çıktıları E-posta Olarak Gönderilebilir mi?
Evet. cPanel Cron Jobs ekranında cron görevinin çıktılarının belirli bir e-posta adresine gönderilmesini sağlayabiliriz.
Bu yöntem özellikle test aşamasında oldukça faydalı olabilir.
Ancak çok sık çalışan bir cron görevinde her çalışmada e-posta göndermek posta kutusunu kısa sürede doldurabilir.
14. Cron Job E-posta Bildirimlerini Kapatma
Görevin çıktısını e-posta olarak almak istemiyorsak komutun sonuna:
> /dev/null 2>&1
ekleyebiliriz.
Örneğin:
/usr/local/bin/php /home/user/public_html/cron.php > /dev/null 2>&1
şeklinde kullanılabilir.
Bu yöntem normal çıktı ve hata çıktısının e-posta olarak gönderilmesini engeller.
15. cPanel Cron Job Çalışmıyor
Oluşturduğumuz görev çalışmıyorsa öncelikle komutun tam yolunu kontrol etmeliyiz.
cPanel dokümantasyonunda cron komutları için mümkün olduğunca absolute path kullanılması gerektiği özellikle vurgulanmaktadır.
Örneğin:
/home/user/public_html/script.php
kullanmak:
script.php
kullanmaktan daha güvenlidir.
16. Cron Job Ortamı ile SSH Ortamı Aynı Değildir
Bir komut SSH terminalinde çalışırken cron üzerinden çalışmayabilir. Bunun nedeni cron’un farklı bir environment ile çalışabilmesidir.
Örneğin:
PATH
HOME
PHP binary
Environment Variables
Working Directory
değerleri farklı olabilir.
Bu nedenle cron komutlarında gerekli yolları mümkün olduğunca açık şekilde belirtmek gerekir.
17. Cron Job Çok Sık Çalıştırılırsa Ne Olur?
cPanel Cron Jobs yapılandırmasında en önemli konulardan biri çalışma sıklığıdır.
Örneğin bir scriptin tamamlanması 10 dakika sürüyorsa ve biz onu her dakika çalıştırıyorsak aynı scriptin birden fazla kopyası aynı anda çalışabilir.
00:00 → Process 1
00:01 → Process 2
00:02 → Process 3
00:03 → Process 4
...
Bu durum CPU, RAM ve disk I/O kullanımını ciddi şekilde artırabilir.
cPanel’in güncel dokümantasyonunda da cron görevlerinin bir önceki çalışması tamamlanmadan yeniden başlatılmaması için yeterli zaman bırakılması önerilmektedir.
cPanel Cron Jobs kullanım uyarılarını inceleyebilirsiniz.
18. Cron Job ile Backup Çalıştırmak
Özel bir backup scriptimiz varsa cron üzerinden belirli zamanlarda çalıştırabiliriz.
Örneğin:
0 2 * * * /home/user/scripts/backup.sh
şeklinde günlük backup görevi oluşturulabilir.
Ancak cPanel sunucusunun kendi merkezi backup sistemini kullanıyorsak manuel script yazmak yerine WHM Backup Configuration bölümünü kullanmak daha uygun olabilir.
WHM tarafındaki resmi backup zamanlama seçeneklerinde günlük, haftalık ve aylık backup planları bulunabilir.
WHM Backup Configuration resmi dokümantasyonunu inceleyebilirsiniz.
19. WHM’deki Sistem Cronları ile cPanel Cron Jobs Farkı
cPanel kullanıcısının kendi Cron Jobs ekranı ile WHM’deki sistem cron görevleri aynı şey değildir.
cPanel hesabı seviyesinde:
cPanel
→ Advanced
→ Cron Jobs
kullanılır.
Sunucu yöneticisi seviyesinde ise WHM üzerinden cPanel’in kendi sistem görevleri yönetilebilir.
WHM
→ Server Configuration
→ Configure cPanel Cron Jobs
Bu bölüm cPanel’in upcp, backup ve benzeri sistem scriptlerinin zamanlamasını yönetmek için kullanılır.
20. cPanel Cron Job ile Git Deployment
Git Version Control kullanan projelerde repository içeriğini zamanlanmış şekilde deploy etmek için cron görevleri oluşturabiliriz.
Örneğin:
cd /home/user/repository && git pull
gibi bir komut kullanılabilir.
Deployment sonrasında gerekiyorsa:
composer install --no-dev --optimize-autoloader
veya uygulamaya özel build komutları çalıştırılabilir.
cPanel’in güncel dokümantasyonunda Git repository deployment işlemleri için cron kullanımına yönelik özel bir rehber de bulunmaktadır.
cPanel Git deployment cron rehberini inceleyebilirsiniz.
21. Cron Job Güvenliği
Otomatik çalışan görevler doğrudan sunucuda komut çalıştırdığı için güvenlik açısından dikkatli yapılandırılmalıdır.
- Komut yollarını açık şekilde belirtin.
- Gereksiz root yetkisi kullanmayın.
- Script dosyalarını güvenli dizinlerde tutun.
- Dosya izinlerini minimum seviyede bırakın.
- Parola ve API anahtarlarını komut satırında açık şekilde bırakmamaya çalışın.
Özellikle rm gibi silme komutlarını cron içerisinde kullanırken son derece dikkatli olmalıyız.
Örneğin:
rm -rf /home/user/...
gibi hatalı bir komut ciddi veri kaybına neden olabilir.
22. cPanel Cron Job’ları Düzenleme ve Silme
Oluşturduğumuz görevleri daha sonra Cron Jobs ekranındaki Current Cron Jobs bölümünden yönetebiliriz.
Mevcut görevleri:
- Düzenleyebiliriz.
- Zamanlamasını değiştirebiliriz.
- Komutunu değiştirebiliriz.
- Gereksizse silebiliriz.
Kullanılmayan cron görevlerini aktif bırakmamak hem kaynak tüketimini hem de güvenlik risklerini azaltabilir.
cPanel’de Cron Job İçin En İyi Uygulamalar
Production sunucularda cron görevleri oluştururken aşağıdaki prensipleri uygulamanızı öneriyoruz:
- Her görev için gerçek ihtiyaca uygun sıklık belirleyin.
- Mutlak dosya yolları kullanın.
- Çalışma süresi uzun görevleri takip edin.
- Gerekirse loglama yapın.
- Kullanılmayan cron görevlerini silin.
- Gereksiz e-posta bildirimlerini kapatın.
- Silme ve veritabanı komutlarını dikkatli kullanın.
Uygun Maliyetli cPanel Yönetimi İçin Lisans Seçimi
Web siteleri, cron görevleri, PHP sürümleri, DNS, e-posta, veritabanları ve güvenlik ayarlarını merkezi olarak yönetmek isteyen kullanıcılar için cPanel ve WHM güçlü bir yönetim altyapısı sunabilir.
VPS veya dedicated sunucunuzda lisans maliyetini optimize etmek istiyorsanız cPanel Lisansı satın al seçeneklerimizi inceleyebilirsiniz.
İhtiyacınıza uygun lisans seçerken sunucu türünü, cPanel hesap sayısını, CPU ve RAM kaynaklarını ve kullanacağınız ek servisleri birlikte değerlendirmenizi öneriyoruz.
Sonuç
cPanel’de Cron Job oluşturmak; PHP scriptleri, Laravel Scheduler, WordPress görevleri, bakım işlemleri ve özel komutları otomatikleştirmek için oldukça kullanışlıdır.
cPanel Cron Jobs ekranı üzerinden dakika, saat, gün, ay ve hafta günü alanlarını kullanarak görevlerimizi kolayca zamanlayabiliriz. Ancak cron görevlerini gereğinden fazla sık çalıştırmamak ve bir önceki işlem tamamlanmadan yeni bir işlem başlatmamak özellikle önemlidir.
Doğru dosya yolları, uygun PHP sürümü, kontrollü dosya izinleri ve düzenli log takibi ile cron sistemimizi daha güvenli ve sağlıklı şekilde kullanabiliriz.
Sık Sorulan Sorular
cPanel’de Cron Job nasıl oluşturulur?
cPanel panelinde Advanced → Cron Jobs bölümünü açarak dakika, saat, gün, ay, hafta günü ve komut bilgilerini girip Add New Cron Job seçeneğiyle yeni görev oluşturabiliriz.
cPanel Cron Jobs ne işe yarar?
cPanel Cron Jobs, belirli komut veya scriptleri önceden belirlediğimiz zaman aralıklarında otomatik olarak çalıştırmamızı sağlar.
cPanel’de PHP Cron Job çalıştırabilir miyim?
Evet. PHP binary yolunu ve çalıştırılacak PHP scriptinin tam dosya yolunu belirterek PHP cron görevleri oluşturabiliriz.
cPanel Cron Job neden çalışmıyor?
Yanlış dosya yolu, yanlış PHP sürümü, dosya izinleri, environment farklılıkları veya hatalı cron zamanlaması görevin çalışmamasına neden olabilir.
cPanel’de Laravel Scheduler kullanılabilir mi?
Evet. Laravel projelerinde artisan schedule:run komutunu cron üzerinden düzenli şekilde çalıştırabiliriz.
cPanel Cron Job her dakika çalıştırılabilir mi?
Evet. Ancak her dakika çalışan görevler sunucu kaynaklarını artırabilir. Scriptin çalışma süresine göre uygun bir zamanlama belirlemek daha sağlıklıdır.
cPanel Cron Job çıktıları e-posta olarak gönderilir mi?
Evet. Cron Jobs bölümünde bildirim e-posta adresi belirlenebilir. Çıktıları e-posta olarak almak istemiyorsak komutun sonuna > /dev/null 2>&1 eklenebilir.
cPanel Cron Job güvenli midir?
Doğru dosya izinleri, minimum yetki ve kontrollü komut kullanımıyla güvenli şekilde kullanılabilir. Özellikle silme komutları ve hassas bilgilerin bulunduğu scriptlerde ekstra dikkat edilmelidir.




Yorum yapmak için lütfen müşteri hesabınız üzerinden giriş yapın. Misafirler henüz yorum gönderemez.
Yorum yapmak için giriş yapın Müşteri hesabı oluşturun