Tanım
Cron job, Linux ve Unix sistemlerinde belirli bir zamanda ya da düzenli aralıklarla otomatik çalıştırılan komut veya betiktir. Zamanlamayı cron servisi yürütür; görevler crontab dosyasında beş zaman alanı ve çalıştırılacak komutla tanımlanır. Yedekleme, e-posta kuyruğu ve uygulama görevleri için kullanılır.
Cron zaman ifadesi nasıl yazılır?
Cron ifadesi beş alandan oluşur: dakika, saat, ayın günü, ay ve haftanın günü. Ardından çalıştırılacak komut gelir.
# dakika saat gün ay haftanın-günü komut
*/5 * * * * /usr/bin/php /home/kullanici/artisan schedule:run
30 3 * * * /root/yedek.sh
0 9 * * 1 /usr/local/bin/rapor.sh| İfade | Anlamı |
|---|---|
*/5 * * * * | Her 5 dakikada bir |
30 3 * * * | Her gün 03:30'da |
0 9 * * 1 | Her pazartesi 09:00'da |
Sunucuda görevler crontab -e komutuyla düzenlenir.
Cron job ne için kullanılır?
Cron job, insan müdahalesi olmadan tekrarlanması gereken işler için kullanılır: veritabanı yedeği almak, eski günlük dosyalarını temizlemek, Laravel schedule:run ya da WordPress wp-cron.php tetiklemek, kur ve stok güncellemek gibi. Sık yapılan hatalar, komutta tam yol yerine kısa ad kullanmak (cron'un PATH değişkeni kısıtlıdır) ve çıktıyı yönlendirmeyip hataları kaçırmaktır. Çıktıyı bir günlük dosyasına yazdırmak sorun gidermeyi kolaylaştırır.
Paylaşımlı hostingte cron görevi kontrol panelinden eklenir: cPanel cron job oluşturma ya da Plesk zamanlanmış görevler rehberine bakabilirsiniz. VPS üzerinde ise crontab ya da systemd timer kullanılabilir. Cron'un en önemli kullanımlarından biri düzenli yedeklemedir.