Ubuntu’da Crontab’a Yeni Satır Nasıl Eklenir

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.

  1. Crontab dosyasını açın: crontab -e
  2. Alt satıra zamanlama ve komutu yazın: */15 * * * * /usr/bin/php /var/www/site/cron.php
  3. Kaydedip çıkın, sonra crontab -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

  • Sunucunuza SSH ile bağlı olun; hangi kullanıcının crontab’ına yazacağınızı bilin (kendi kullanıcınız mı, root mu).
  • Çalıştıracağınız betiğin tam yolunu bilin (which php, which bash ile bulunur); crontab ortamı kabuk profilinizi (.bashrc) okumaz, göreceli yol çalışmaz.
  • Görevin çıktısını nereye yönlendireceğinize karar verin (log dosyası ya da /dev/null); aksi hâlde e-posta olarak sistem kullanıcısına gönderilmeye çalışılır.
  • Paylaşımlı hosting kullanıyorsanız bu kart size uygun değildir; paylaşımlı hostingde SSH ve sistem crontab’ı yoktur, zamanlanmış görevler cPanel panelinden yönetilir.

Ubuntu Crontaba Satır Ekleme Ne İşe Yarar

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.

Ubuntu crontaba satır ekleme — düzenleyiciyi açma, zamanlama yazma ve doğrulama adımları
Düzenleyiciyi aç, zaman ve komutu yaz, kaydet, listeyle doğrula.

Ubuntu Crontaba Satır Ekleme Adımları

Yöntem 1 — crontab -e ile (önerilen)

  1. Crontab düzenleyicisini açın:
    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.

  2. Alt satıra zaman ve komutu ekleyin, kaydedin:
    */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.

Yöntem 2 — Betikten satır ekleme (test sunucusunda denenen komut)

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:

  1. Mevcut crontab’ı kontrol edin:
    crontab -l

    Gerçek çıktı (test sunucusu, boş hesap): no crontab for root. Kayıtlı görev yoksa bu mesaj normaldir, hata değildir.

  2. Var olan içeriği koruyarak yeni satırı ekleyin:
    (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.

  3. Eklendiğini doğrulayın:
    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.

Doğrulama

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.

Hâlâ çözülmediyse

  • Satır eklendi ama görev çalışmıyor. Komutta göreceli yol kullanılmış olabilir; betik ve yorumlayıcı (php, python3) için which komutuyla bulunan tam yolu yazın, crontab kabuk profilinizi okumaz.
  • “crontab: command not found” hatası alıyorsunuz. Minimal bir Ubuntu kurulumunda cron paketi kurulu olmayabilir: sudo apt update && sudo apt install cron ile kurup sudo systemctl enable --now cron ile başlatın.
  • Görev iki kez çalışıyor gibi görünüyor. Aynı satırı hem root’un hem kendi kullanıcınızın crontab’ına eklemiş olabilirsiniz; sudo crontab -l ve crontab -l çıktılarını karşılaştırıp tekrar edeni silin.
  • Sunucunuz paylaşımlı hosting, SSH erişiminiz yok. Bu durumda komut satırı yerine cPanel’de Zamanlanmış Görevler (Cron Jobs) kartındaki adımları izleyin.

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ı.

Destek talebi aç

Sıkça sorulan sorular

Ubuntu crontaba satır ekleme işlemi için servis yeniden başlatmam gerekir mi?

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.

root kullanıcısının crontab’ı ile kendi kullanıcımın crontab’ı farklı mı?

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.

Zamanlama alanlarının sırasını unuttum, nereden bakabilirim?

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ü?

Çö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.

Etiketler: ubuntucrontab

İlgili çözümler