Bloga dön
Mayıs 23, 2026Rehberler

Linux Sunucuda Cron İşleri Nasıl Kurulur

Cron sözdizimi, crontab düzenleme, yaygın zamanlama örnekleri ve VPS'te otomatik görevler için günlük kaydı.

Linux Sunucuda Cron İşleri Nasıl Kurulur

Cron, yedekleme, önbellek temizleme, sertifika kontrolü gibi betik ve komutları sabit saatlerde çalıştırmak için Linux'un standart zamanlayıcısıdır. Bu rehber Hiddence sunucunuzda kullanımı anlatır.

Cron sözdizimi

Her satırda beş zaman alanı ve ardından komut bulunur:

bash
# ┌──────── minute (0-59)
# │ ┌────── hour (0-23)
# │ │ ┌──── day of month (1-31)
# │ │ │ ┌── month (1-12)
# │ │ │ │ ┌─ day of week (0-7, 0 and 7 = Sunday)
# │ │ │ │ │
# * * * * * command

# Every day at 3:00 AM:
0 3 * * * /usr/local/bin/backup.sh

# Every 15 minutes:
*/15 * * * * /usr/local/bin/check.sh

Crontab düzenleme

Geçerli kullanıcı için crontab -e. Çoğu sistem görevi için sudo ile root crontab:

bash
# Edit your user crontab
crontab -e

# Edit root crontab
sudo crontab -e

# List current jobs
crontab -l
sudo crontab -l

Yaygın örnekler

  • 0 2 * * * — her gün saat 02:00'de yedek
  • 0 */6 * * * — her 6 saatte bir
  • 0 0 * * 0 — her Pazar gece yarısı
  • */5 * * * * — her 5 dakikada (dikkatli kullanın)
  • @reboot /path/script.sh — yeniden başlatmadan sonra bir kez
  • @daily /usr/bin/certbot renew --quiet — günlük Certbot kontrolü

Günlük kaydı ve hata ayıklama

Çıktıyı bir log dosyasına yönlendirerek başarısızlıkları görün:

bash
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup-cron.log 2>&1

# View cron execution in system log:
grep CRON /var/log/syslog   # Ubuntu
grep CRON /var/log/cron      # CentOS

İpuçları

  • Cron komutlarında mutlak yollar kullanın
  • Crontab'a eklemeden önce betikleri elle test edin
  • Hata e-postaları için crontab'ta MAILTO=your@email.com (posta yapılandırıldıysa)
  • Karmaşık bağımlılıklar için modern sistemlerde systemd zamanlayıcıları
  • Ağır görevleri her dakika çalıştırmayın — VPS aşırı yüklenebilir