Cronjob, belirli zaman aralıklarında otomatik olarak bir komut veya görev çalıştırmayı sağlayan bir zamanlama mekanizmasıdır. Genellikle Unix tabanlı sistemlerde (Linux, macOS vb.) kullanılır ve zamanlanmış görevlerin otomatik olarak çalıştırılması için bir cron daemon (arka plan hizmeti) tarafından yönetilir.
Yedekleme İşlemleri:
Sistem Bakımı:
Uygulama Güncellemeleri:
E-posta Gönderimi:
Veri İşleme:
Web Uygulamaları:
Cron zamanlama sisteminin temelinde bir yapılandırma dosyası olan crontab bulunur. Crontab dosyası, hangi komutun ne zaman çalıştırılacağını belirler.
Crontab dosyasındaki her satır, bir görevi ve zamanlama bilgisini ifade eder. Söz dizimi şu şekildedir:
* * * * * komut
| | | | |
| | | | +----- Yıl (opsiyonel, çoğu durumda kullanılmaz)
| | | +------- Ay (1 - 12)
| | +--------- Gün (1 - 31)
| +----------- Saat (0 - 23)
+------------- Dakika (0 - 59)
Her 5 Dakikada Bir Çalışan Görev: */5 * * * * komut
Her Gün Saat 02:00'de Çalışan Görev: 0 2 * * * komut
Her Pazartesi Saat 08:30'da Çalışan Görev: 30 8 * * 1 komut
Belirli Bir Tarihte (15 Mayıs Saat 14:00) Çalışan Görev: 0 14 15 5 * komut
Hafta İçi Her Gün Saat 09:00’da Çalışan Görev: 0 9 * * 1-5 komut
Crontab Dosyasını Açma ve Düzenleme: crontab -e
Mevcut Crontab Görevlerini Listeleme: crontab -l
Crontab Görevlerini Silme: crontab -r
Cronjob'ların çıktısı genellikle bir dosyaya yönlendirilir:
* * * * * komut >> /path/to/logfile.log 2>&1
İfade | Anlamı |
---|
@reboot | Sistemin açılışında |
@hourly | Her saat başında |
@daily | Her gün gece yarısında |
@weekly | Her hafta başında |
@monthly | Her ay başında |
@yearly | Her yıl başında |
Bir Web Sitesinin Önbelleğini Temizlemek:
0 3 * * * /usr/bin/php /var/www/html/artisan cache:clear
Veritabanı Yedeklemesi:
0 1 * * * mysqldump -u kullanıcı -pşifre veritabani > /yedek/dizin/yedek.sql
Disk Alanını Kontrol Etmek ve Log Tutmak:
0 0 * * * df -h >> /var/log/disk_usage.log
Zaman Tasarrufu:
Doğru ve Tutarlı Çalışma:
Esneklik:
Sistem Yönetimi:
Cronjob, zamanlama gerektiren tekrarlı görevleri otomatikleştirmek için kullanılan etkili bir araçtır. Özellikle sistem yöneticileri ve geliştiriciler için günlük operasyonları kolaylaştırır. Doğru yapılandırıldığında, büyük zaman tasarrufu ve verimlilik sağlar.
*Gönderi ve görsel chatgpt ile oluşturulmuştur.