Blogchevron_rightSunucu Yönetimichevron_rightCrontab Nedir ve Sunucularda Neden Bu Kadar Önemli?

Crontab Nedir ve Sunucularda Neden Bu Kadar Önemli?

S
Serversium
calendar_today1 Mayıs 2026
schedule5 dk okuma
Crontab Nedir ve Sunucularda Neden Bu Kadar Önemli?

Crontab Nedir ve Sunucularda Neden Bu Kadar Önemli?

Crontab (Cron Table), Unix tabanlı işletim sistemlerinde bulunan ve belirli zamanlarda otomatik olarak komut veya betiklerin çalıştırılmasını sağlayan bir zamanlama sistemidir. Linux sunucu yöneticilerinin %87'si düzenli olarak crontab kullanarak tekrarlayan görevleri otomatikleştirmektedir. Bu sistem, sistem bakımı, yedekleme, log temizleme ve veritabanı optimizasyonu gibi kritik işlerin insan müdahalesi olmadan yapılmasına olanak tanır.

Crontab, cron daemon tarafından çalıştırılır ve sistemin arka planında sürekli olarak çalışarak tanımlanan zamanlama kurallarını kontrol eder. Her dakika çalışan bu daemon, eşleşen bir kural bulduğunda ilgili komutu veya betiği yürütür.

Crontab'ın Temel Bileşenleri

Bir crontab girişi beş zaman alanından oluşur:

  • Dakika (0-59): Saat başı hangi dakikada çalışacağını belirler
  • Saat (0-23): Günün hangi saatinde çalışacağını belirler
  • Gün (1-31): Ayın hangi gününde çalışacağını belirler
  • Ay (1-12): Yılın hangi ayında çalışacağını belirler
  • Haftanın Günü (0-7): Haftanın hangi günü çalışacağını belirler (0 ve 7 Pazar)

Sunucuda Crontab Kurulumu ve Temel Kullanım

Crontab Komutları

Sunucunuzda crontab kullanmaya başlamak için aşağıdaki temel komutları bilmeniz yeterlidir:

KomutAçıklama
crontab -eCrontab dosyasını düzenle
crontab -lMevcut crontab görevlerini listele
crontab -rTüm crontab görevlerini sil
crontab -u kullanıcıBelirli bir kullanıcının crontab'ını yönet

Crontab dosyanızı düzenlemek için crontab -e komutunu kullanın. İlk kez çalıştırdığınızda size bir metin editörü seçimi sunulacaktır. Nano veya Vim tercih edebilirsiniz.

Crontab Zamanlama Formatları

Crontab zamanlama ifadeleri esnek bir yapıya sahiptir. İşte en yaygın kullanılan formatlar:

Sık Kullanılan Zamanlama Örnekleri

ZamanlamaAçıklama
* * * * *Her dakika çalışır
0 * * * *Her saat başı çalışır
0 0 * * *Her gece yarısı çalışır
0 0 * * 0Her Pazar gece yarısı çalışır
0 2 * * *Her gün saat 02:00'de çalışır
*/5 * * * *Her 5 dakikada bir çalışır
0 3 * * 1-5Hafta içi her gün saat 03:00'de çalışır

Pratik Crontab Kullanım Senaryoları

1. Otomatik Yedekleme Betiği

Sunucunuzda düzenli yedekleme yapmak kritik öneme sahiptir. Araştırmalara göre şirketlerin %60'ı düzenli yedekleme yapmadıkları için veri kaybı yaşamaktadır. Aşağıdaki crontab girişi her gece saat 02:00'de yedekleme betiğinizi çalıştırır:

0 2 * * * /home/backup/yedekle.sh >> /var/log/yedekleme.log 2>&1

Bu komut çıktılarını bir log dosyasına yönlendirerek hata ayıklama yapabilirsiniz.

2. Log Dosyalarını Temizleme

Sunucu log dosyaları zamanla disk alanını doldurabilir. Aşağıdaki crontab girişi her hafta Pazar günü eski log dosyalarını temizler:

0 3 * * 0 find /var/log -name "*.log" -mtime +30 -delete

3. Veritabanı Optimizasyonu

MySQL veya MariaDB kullanıyorsanız, düzenli optimizasyon performansı artırır:

0 4 * * * mysqloptimize -A --all-databases >> /var/log/db_optimize.log 2>&1

4. SSL Sertifikası Yenileme Kontrolü

Let's Encrypt sertifikalarınızı otomatik yenilemek için:

0 6 * * * /usr/bin/certbot renew --quiet --deploy-hook "systemctl reload nginx"

Sunucularda Crontab Güvenliği

Güvenlik Önlemleri

Crontab kullanırken güvenlik konusuna dikkat etmelisiniz:

  1. Çalışma izinlerini kontrol edin: Betiklerinizin sadece gerekli kullanıcılar tarafından çalıştırılabilir olduğundan emin olun. chmod 755 veya chmod 700 kullanın.
  2. Ortam değişkenlerini yönetin: Crontab betikleri sınırlı ortam değişkeniyle çalışır. Tam yolları kullanın.
  3. Loglama yapın: Tüm crontab görevlerinin çıktılarını loglayın. Bu sayede sorunları kolayca tespit edebilirsiniz.
  4. Kullanıcı kısıtlamaları uygulayın: /etc/cron.deny ve /etc/cron.allow dosyalarını kullanarak crontab erişimini kısıtlayın.

Ortam Değişkeni Sorunları

Crontab betikleri çalışırken PATH değişkeni sınırlıdır. Bu nedenle betiklerinizde tam yollar kullanmanız önemlidir:

# Yanlış
* * * * * php script.php

# Doğru
* * * * * /usr/bin/php /home/kullanici/script.php

Systemd Timer: Crontab'a Modern Alternatif

Modern Linux dağıtımlarında systemd timer, crontab'a güçlü bir alternatiftir. Araştırmalara göre sistem yöneticilerinin %35'i systemd timer'ı tercih etmektedir. Özellikle Fedora, Ubuntu 16.04+ ve CentOS 7+ sistemlerde kullanılabilir.

Crontab vs Systemd Timer Karşılaştırması

ÖzellikCrontabSystemd Timer
Kurulum kolaylığıKolayOrta
LoglamaManuelOtomatik (journalctl)
Bağımlılık yönetimiYokVar
KalıcılıkVarVar
CPU/IO kontrolüYokVar

Eğer yüksek hassasiyetli zamanlama veya sistem hizmet bağımlılıkları gerekiyorsa systemd timer kullanmanızı öneririz. Daha basit görevler için crontab yeterlidir.

Crontab Hata Ayıklama ve İzleme

Log Dosyalarını İzleme

Crontab görevlerinizi izlemek için sistem loglarını kontrol edin:

grep CRON /var/log/syslog
# veya
journalctl -u cron

Test Çalıştırma

Bir betiği crontab'a eklemeden önce test etmek önemlidir. Betiğinizi manuel olarak çalıştırarak hata olup olmadığını kontrol edin:

/home/kullanici/betik.sh

Betik çalıştıktan sonra çıktıları ve hataları inceleyin. Her şey doğruysa crontab'a ekleyebilirsiniz.

Sonuç ve Öneriler

Crontab, Linux sunucu yönetiminde vazgeçilmez bir araçtır. Doğru kullanıldığında tekrarlayan görevleri otomatikleştirir, iş yükünü azaltır ve hata olasılığını minimize eder. Ancak güvenlik ve performans konularına dikkat etmek kritik önem taşır.

Sunucu güvenliği konusunda daha fazla bilgi için SSH Key ve 2FA güvenlik rehberimizi inceleyebilirsiniz. Ayrıca Cron job kullanımı hakkında detaylı bilgi için blog yazılarımızı okuyabilirsiniz.

Crontab görevlerinizi oluştururken her zaman loglama yapmayı, tam yollar kullanmayı ve betiklerinizi düzenli olarak test etmeyi unutmayın. Bu adımları takip ederek sunucu bakımınızı otomatik ve güvenli hale getirebilirsiniz.

library_booksBenzer İçerikler

Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber
Sunucu Yönetimi
calendar_today5 Nisan 2026
schedule5 dk

Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber

Cloud sunucular, dinamik kaynak dağıtımıyla işletmelerin kesintisiz büyümesini sağlar. Avantajlardan karşılaştırmalara tüm detaylar bu rehberde yer alıyor.

S
Serversiumarrow_forward
Linux vs Windows Sunucu: Hangisi Projeye Uygun?
Sunucu Yönetimi
calendar_today6 Nisan 2026
schedule5 dk

Linux vs Windows Sunucu: Hangisi Projeye Uygun?

Linux ve Windows Sunucu arasındaki teknik farkları, maliyet avantajlarını ve proje uyumluluğunu detaylı olarak karşılaştırıyoruz. Yazılım stack'inize en uygun işletim sistemini seçmek için kapsamlı rehberimizle doğru altyapı kararını verin.

S
Serversiumarrow_forward
Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber
Sunucu Yönetimi
calendar_today16 Nisan 2026
schedule5 dk

Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber

Ubuntu 24 üzerinde Plesk kurulumunu adım adım öğrenin. Bu rehberde sistem gereksinimleri, kurulum adımları ve temel yapılandırma ayarlarını bulabilirsiniz.

S
Serversiumarrow_forward