Son doğrulama: Eylül 2026 · Ubuntu 24.04 test sunucusunda denendi
Hızlı çözüm
Ubuntu crontaba satır ekleme işlemi crontab -e komutuyla açılan dosyaya dakika saat gün ay haftagünü komut biçiminde bir satır yazmaktan ibarettir; kaydettiğinizde görev otomatik olarak devreye girer, servis yeniden başlatmaya gerek yoktur.
crontab -e*/15 * * * * /usr/bin/php /var/www/site/cron.phpcrontab -l ile satırın eklendiğini doğrulayın.| Panel | Yok — komut satırından yapılır (VPS/VDS yönetimsizdir) |
|---|---|
| Sistem | Ubuntu 22.04/24.04, Debian 12 (cron paketi kurulu gelir) |
| Yetki | Sunucunuzun kendi kullanıcı hesabı; sistem genelindeki görevler için root |
| Narhost ürünü | VPS Sunucu, VDS Sunucu |
Başlamadan önce
which php, which bash ile bulunur); crontab ortamı kabuk profilinizi (.bashrc) okumaz, göreceli yol çalışmaz./dev/null); aksi hâlde e-posta olarak sistem kullanıcısına gönderilmeye çalışılır.Cron, Linux’ta belirli bir komutu belirlenen zamanlarda otomatik çalıştıran arka plan servisidir. Ubuntu crontaba satır ekleme dediğimizde, her kullanıcının kendine ait ve sistem genelinde geçerli tek bir metin dosyasına bir satır eklemekten söz ediyoruz; her satır beş zaman alanı ve ardından çalıştırılacak komuttan oluşur. Yedek alma, log temizleme, önbellek yenileme ve site sağlık kontrolü gibi tekrar eden işler bu yolla otomatikleştirilir.
VPS ve VDS sunucularda cron paketi kurulu gelir, ek kurulum gerekmez. Sunucu yönetimsiz olduğu için hangi görevin ne zaman çalışacağına ve kaynak tükettiğine siz karar verirsiniz; Narhost sunucuyu ve ağı sağlar, crontab içeriği sizin sorumluluğunuzdadır.

crontab -e
Beklenen sonuç: ilk çalıştırmada bir düzenleyici seçmenizi ister (genelde nano); sonraki çalıştırmalarda doğrudan mevcut crontab içeriğini açar. Boşsa dosya boş gelir, bu normaldir.
*/15 * * * * /usr/bin/php /var/www/site/cron.php >> /var/log/site-cron.log 2>&1
Beklenen sonuç: nano‘da Ctrl+O ile kaydedip Ctrl+X ile çıkınca “crontab: installing new crontab” mesajı görünür; hiç hata alınmaz.
Bir kurulum betiği içinden interaktif düzenleyici açmadan satır eklemek gerekiyorsa mevcut crontab’ı okuyup üzerine yeni satırı ekleyip geri yazan tek satırlık komut kullanılır:
crontab -l
Gerçek çıktı (test sunucusu, boş hesap): no crontab for root. Kayıtlı görev yoksa bu mesaj normaldir, hata değildir.
(crontab -l 2>/dev/null; echo "*/15 * * * * /usr/bin/php /var/www/site/cron.php >> /var/log/site-cron.log 2>&1") | crontab -
Gerçek çıktı: komut sessizce biter (çıktı vermez). crontab -l mevcut satırların altına yeni satırın eklendiğini gösterir; boş bir crontab’a ilk kez ekleniyorsa tek satır görünür.
crontab -l
Test sunucusunda alınan gerçek çıktı: */15 * * * * /usr/bin/php /var/www/site/cron.php >> /var/log/site-cron.log 2>&1. Satır sayısı ekleme öncesine göre bir fazladır.
Dikkat
İkinci yöntemdeki komutu çift tırnak ve crontab -l içindeki küçük “L” harfiyle birebir kopyalayın; büyük “I” ile yazılan bir varyant komutu geçersiz kılar. Ayrıca bu komut mevcut crontab’ın tamamının üzerine yazar: parantez içindeki crontab -l çağrısı atlanırsa önceki tüm satırlar silinir. Zamanlama söz dizimindeki beş alanın (dakika, saat, gün, ay, haftagünü) sırası ve joker karakterleri crontab(5) resmi man sayfasında tanımlıdır.
Sonuç
crontab -l çıktısında eklediğiniz satırı görüyorsanız kayıt başarılıdır; cron servisinin çalıştığından da systemctl status cron ile emin olun (Ubuntu/Debian’da servis adı cron‘dur). Görevin gerçekten çalıştığını görmek için belirttiğiniz log dosyasını (tail -f /var/log/site-cron.log) birkaç dakika izleyin.
php, python3) için which komutuyla bulunan tam yolu yazın, crontab kabuk profilinizi okumaz.sudo apt update && sudo apt install cron ile kurup sudo systemctl enable --now cron ile başlatın.sudo crontab -l ve crontab -l çıktılarını karşılaştırıp tekrar edeni silin.Narhost desteği
Talebe şunları ekleyin: sunucu IP adresiniz, eklemeye çalıştığınız satırın tam metni, hangi kullanıcının crontab’ına eklediğiniz ve crontab -l çıktısı.
Sonraki adımlar
Hayır. Cron servisi crontab dosyalarını periyodik olarak yeniden okur; crontab -e ile kaydettiğiniz satır bir sonraki taramada otomatik devreye girer, systemctl restart cron gerekmez.
Evet, her sistem kullanıcısının kendine ait bir crontab dosyası vardır. sudo crontab -u kullanicidegistir -l ile başka bir kullanıcının crontab’ını görebilirsiniz; kendi kullanıcınızda çalıştırdığınız crontab -l yalnızca sizinkini gösterir.
Sıra her zaman dakika, saat, ayın günü, ay, haftanın günüdür; ayrıntılı söz dizimi ve joker karakter örnekleri crontab(5) man sayfasında listelenir.
Bu makale sorununuzu çözdü mü?
Geri bildiriminiz için teşekkürler.
Çözemediniz mi?
Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.