Sunucunuzun sizin yerinize gece saat 03:00'te veritabanı yedeği aldığını, her sabah e-bülten maili yolladığını veya süresi biten faturaları iptal ettiğini hayal edin. Cpanel Cron Jobs (Zamanlanmış Görevler) özelliği ile Linux sunucunuza her saniye, saat veya ay için otomatik görevler öğretmenin sırlarını inceliyoruz.
Cron Job Nedir? Neden İhtiyacımız Var?
Cron, Linux işletim sistemlerinin arka planında uyuyan, saati kontrol edip belirli vakit geldiğinde (örneğin ayın 1'i, saat 12:00) kendisine verilen spesifik komutu çalıştıran "zamanlayıcı deccaldir" (Daemon).
Örneğin bir WHMCS, WordPress veya özel CRM yazılımı kullanıyorsanız; e-postaların gönderilmesi ya da veritabanının günlük optimize edilmesi komutu tetiklenmeden kendi kendine gerçekleşemez. Tarayıcınız açık kalmadan bu tetiklenmeyi yaratmanın tek yolu CRON kurulumudur.
cPanel'den Cron Job Ekleme Adımları
- cPanel'e giriş yapın ve Gelişmiş (Advanced) bölümü altından Cron Jobs (Zamanlanmış Görevler) ikonuna tıklayın.
- E-Posta Uyarısı: Eğer cron'un ürettiği çıktıların veya hataların size gelmesini isterseniz e-posta adresinizi girin. İstemiyorsanız (sürekli mail gelir, can sıkar) bu kısmı boş bırakabilir veya komut sonuna
>/dev/null 2>&1ekleyebilirsiniz. - Sıklık Ekleme (Yeni Zamanlanmış Görev): Dakika, Saat, Gün, Ay, Haftanın Günü gibi sekmeleri ayarlayın. Örneğin:
- Her Beş Dakikada Bir: `*/5 * * * *`
- Gece Yarısı (Her Gün 00:00): `0 0 * * *`
- Haftada Bir Pazar Günü: `0 0 * * 0`
- Komut (Command): Çalıştırılacak scripti yazın ve "Yeni Cron İşi Ekle" deyin.
Sık Kullanılan Cron Komutları PHP/Wget/Curl
Bir PHP dosyasını tetiklemenin 3 farklı yolu vardır. Sitenizin durumuna ve güvenlik kalkanına göre kullanın:
1. Saf PHP CLI Komutu (En Güvenlisi - Önerilen)
/usr/local/bin/php /home/kullaniciadi/public_html/cron.php
Direkt sunucunun PHP beynine emredilir. Apache/Litespeed sınırlarına (Timeout/RAM) takılmaz! Zaman aşımı yemeden saatlerce işlem yapabilir.
2. Wget ile Tetikleme (Web Üzerinden)
wget -q -O /dev/null "https://siteniz.com/cron.php?şifre=123" >/dev/null 2>&1
Sunucu sanki bir ziyaretçi tarayıcıdan siteye giriyormuş gibi URL'i çağırır. HTTP zaman aşımı limiti (Örn: 60 saniye) vardır.
3. cURL ile Tetikleme
curl -s "https://siteniz.com/cron.php" >/dev/null 2>&1
Wget'e benzer, genellikle REST API hooklarını tetiklerken kullanılır.
🚀 Zamanlanmış Görevlerde Kesinti Yaşamayın
Limitsiz Cpanel ve sorunsuz Cron altyapımız sayesinde E-ticaret entegrasyonlarınızı ve XML döngülerinizi güvence altına alın. HazalHost sunucularında saniyede 1 vuruşluk Cron emirleri bile stabil şekilde çalışır.
Sık Yapılan Hatalar: Resource Limit Reached (508)
Eğer Cron göreviniz her 1 dakikada bir çalışacak şekilde ayarlandıysa fakat işlediği veri (Gönderilecek binlerce mail) 5 dakikada anca bitiyorsa; birinci komut daha bitmeden ikinci komut üst üste binmeye başlar. Birkaç saat içinde sunucuda 300 adet uyanık cron işlemi oluşur ve VDS RAM'iniz şişip kitlenir, hostinginiz askıya alınır.
Çözüm: Ağır cron görevlerini ya "Günde 1 Kere" yapmalısınız, ya da PHP kodunuz ile veritabanında "İşlem sürüyor" logu atarak ikinci çalışan cron'un çalışmadan geri kapanmasını sağlamalısınız.
Sonuç
Hayat telaşı içinde faturanızı yatırmayı, kargo kodu girmeyi veya sepeti terk eden müşterinize mail atmayı Linux'un soğuk ancak şaşmaz hafızasına bırakmak en profesyonel seçenektir.