1. Cron Nedir ve Neden Gereklidir?
Gelir gider takip yazılımındaki bazı özellikler arka planda otomatik çalışması gereken görevlerdir. Örneğin vadesi yaklaşan bir fatura için hatırlatma göndermek, her sabah alacak/borç durumunu bildirmek veya gece günlük özet raporu oluşturmak bunların başında gelir.
Bu görevlerin her birini siz tek tek elle başlatmak zorunda değilsiniz. Cron (zamanlanmış görev), sunucunun belirli zaman aralıklarında bu işleri sizin yerinize otomatik olarak çalıştırmasını sağlar. cPanel'e bir defa doğru şekilde girildiğinde siz hiçbir şey yapmadan sistem kendi kendine çalışır.
Kısaca cron olmadan yazılımın şu özellikleri çalışmaz:
- Vade hatırlatmaları (her 15 dakikada bir kontrol)
- Borç/alacak sabah bildirimleri
- Günlük finansal özet raporu
- Aylık özet raporu
2. cPanel'de Cron Bölümü Nerede Bulunur?
cPanel'e giriş yaptıktan sonra cron bölümüne ulaşmak çok kolaydır. Şu adımları izleyin:
- Hosting panelinize giriş yapın (genellikle siteniz.com:2083 adresi üzerinden).
- Arama çubuğuna Cron yazın.
- Cron İşleri seçeneğine tıklayın.
- Açılan sayfada en altta Geçerli Cron İşleri listesini, üstte ise yeni cron ekleme formunu göreceksiniz.
Formda 5 adet zamanlama alanı (Dakika, Saat, Gün, Ay, Hafta İçi) ve bir Komut alanı bulunur. Her alan için ayrı ayrı değer girilmesi gerekir.
?type=hatirlatma şeklinde URL parametresi girilmez. Bu yöntem sadece tarayıcıda çalışır. Doğru yöntem aşağıda açıklanmaktadır.3. Hangi Cron Hangi İşi Yapar? 4 Görev Tam Liste
Yazılımda 4 ayrı otomatik görev bulunmaktadır. Her birinin ne zaman çalışması gerektiği ve hangi komutu kullanmanız gerektiği aşağıda açıklanmıştır.
Görev 1: Vade Hatırlatmaları (Her 15 Dakikada Bir)
Vadesi yaklaşan veya geçen faturaları kontrol eder, kullanıcılara Telegram, e-posta veya SMS ile hatırlatma gönderir.
| Alan | Değer |
|---|---|
| Dakika | */15 |
| Saat / Gün / Ay / Hafta İçi | * |
Görev 2: Borç/Alacak Sabah Bildirimi (Her Sabah 08:00)
Her sabah saat 08:00'de gecikmiş ödemeleri ve yaklaşan vadeleri kullanıcıya bildirir.
| Alan | Değer |
|---|---|
| Dakika | 0 |
| Saat | 8 |
| Gün / Ay / Hafta İçi | * |
Görev 3: Günlük Özet Raporu (Her Gece 23:50)
Gün içinde yapılan tüm gelir ve gider işlemlerini PDF olarak özetler, e-posta ve Telegram ile gönderir.
| Alan | Değer |
|---|---|
| Dakika | 50 |
| Saat | 23 |
| Gün / Ay / Hafta İçi | * |
Görev 4: Aylık Özet Raporu (Ayın Son Günü Saat 09:00)
Her ayın son günü tüm aylık gelir, gider, satış ve alış verilerini PDF rapor halinde gönderir.
| Alan | Değer |
|---|---|
| Dakika | 0 |
| Saat | 9 |
| Gün | 28-31 |
| Ay / Hafta İçi | * |
Not: 28-31 aralığı girilir ve komuta yarın ayın birinci günü mü koşulu eklenir. Böylece yalnızca ayın gerçek son gününde çalışır.
4. Örnek Kullanıcılar için Tam Komut Listesi
Aşağıda farklı hosting kullanıcı adları için hazır komutlar verilmiştir. Kendi kullanıcı adınıza göre düzenleyip kopyalayabilirsiniz.
Örnek 1: Kullanıcı adı ahmetfirma, public_html/v4 klasörü
Vade Hatırlatma (*/15 * * * *):
/usr/local/bin/php -q /home/ahmetfirma/public_html/v4/cron/cron.php hatirlatma
Borç/Alacak (0 8 * * *):
/usr/local/bin/php -q /home/ahmetfirma/public_html/v4/cron/cron.php borc_alacak
Günlük Özet (50 23 * * *):
/usr/local/bin/php -q /home/ahmetfirma/public_html/v4/cron/cron.php gunluk_ozet
Aylık Özet (0 9 28-31 * *):
[ "$(date -d tomorrow +%d)" = "01" ] && /usr/local/bin/php -q /home/ahmetfirma/public_html/v4/cron/cron.php aylik_ozet
Örnek 2: Kullanıcı adı mehmetesnaf, mehmetesnaf.net/v4 klasörü
Vade Hatırlatma:
/usr/local/bin/php -q /home/mehmetesnaf/mehmetesnaf.net/v4/cron/cron.php hatirlatma
Borç/Alacak:
/usr/local/bin/php -q /home/mehmetesnaf/mehmetesnaf.net/v4/cron/cron.php borc_alacak
Günlük Özet:
/usr/local/bin/php -q /home/mehmetesnaf/mehmetesnaf.net/v4/cron/cron.php gunluk_ozet
Aylık Özet:
[ "$(date -d tomorrow +%d)" = "01" ] && /usr/local/bin/php -q /home/mehmetesnaf/mehmetesnaf.net/v4/cron/cron.php aylik_ozet
5. En Sık Yapılan Hata: ?type= Kullanımı
cron.php dosyasını tarayıcıdan test etmek için URL'ye ?type=hatirlatma yazarsınız ve bu çalışır. Ancak aynı yöntemi cPanel cron komutuna uyguladığınızda sistem çalışmaz.
?type= bir URL parametresidir. cPanel'deki cron ise PHP'yi doğrudan sunucudan çalıştırır, web üzerinden değil. Bu yüzden $_GET değişkeni boş gelir ve script Geçersiz işlem tipi hatasıyla durur.
| Yanlış Kullanım | Doğru Kullanım |
|---|---|
| php -q /home/kullanici/cron.php?type=hatirlatma | /usr/local/bin/php -q /home/kullanici/cron.php hatirlatma |
| php -q /home/kullanici/cron.php?type=gunluk_ozet | /usr/local/bin/php -q /home/kullanici/cron.php gunluk_ozet |
6. Cronun Çalışıp Çalışmadığını Nasıl Test Edersiniz?
Cron eklendikten sonra gerçekten çalışıp çalışmadığından emin olmak için iki yöntem kullanabilirsiniz.
Yöntem 1: Veritabanından Kontrol
phpMyAdmin'i açın, cron_log tablosuna bakın. Cron her başarılı çalışmada buraya kayıt düşer. Tabloda kayıt varsa cron çalışıyor demektir.
Yöntem 2: Tarayıcıdan Manuel Test
cron.php dosyasında $koruma = false; ayarlayın. Ardından tarayıcıya şu adresi yazın:
https://siteniz.com/v4/cron/cron.php?type=hatirlatma
Ekranda {"success":true} yazıyorsa komut sorunsuz çalışıyor demektir.
$koruma = true; yapmayı unutmayın. Böylece cron.php dosyasına dışarıdan erişim engellenmiş olur.7. Sonuç: Bir Kez Kurun, Sürekli Çalışsın
Cron ayarları karmaşık görünse de aslında tek seferlik bir işlemdir. Doğru komutları ve zamanlama değerlerini girdikten sonra sistem otomatik olarak çalışmaya devam eder. Ne vade takibi için ayrıca giriş yapmanız gerekir ne de aylık raporu elle oluşturmanız gerekir.
Özetle dikkat etmeniz gereken tek şey şudur: cPanel'de doğru PHP yolunu (/usr/local/bin/php) kullanın, parametreyi boşlukla geçin ve zamanlama alanlarını ayrı ayrı doldurun.
Otomatik Bildirimli Gelir Gider Sistemini İnceleyin
Vade hatırlatma, günlük özet ve aylık rapor özelliklerini canlı demoda görün.