Skip to content

Cron Job Nedir?

Published: at 05:00 PMSuggest Changes

Cron job, Unix-like işletim sistemlerinde yer alan cron kullanılarak planlanmış işlerin çalıştırılmasını sağlayan işlemlerdir. Cron joblar sayesinde tekrarlı bir şekilde yapılan birçok işlemden kurtulunabilmektedir.

Bu yazıda bir cron job nasıl oluşturulur, nasıl kurulur ve nasıl takip edilir bundan bahsedeceğim! Hadi başlayalım!

Table of Contents

İçindekiler

Cron Job Nasıl Çalışır?

Cron bir deamon programıdır. Bir cron dosyası temelinde bir text dosyasıdır ve çalıştırılacak olan komutu ve zaman aralığını içermektedir.

Crontab veya diğer adıyla cron table ise varsayılan olarak /etc/crontab da bulunmaktadır ve root seviyesinde erişim gerektirmektedir. Ancak user seviyesinde yönetimi de sağlanabilmektedir.

Cron Job Kısıtları Nelerdir?

Crash durumunda veya sistemin kapanması durumunda cron da planlanmış olan job çalışmayacaktır. Sistem tekrar açıldığında da kaçırılmış bir cron job kalmaktadır. Bunu çözmek için anacron kullanılır. Anacron, crondan farklı olarak haftalık ve aylık planlama yapmamaktadır. Gün içerisinde periyodik olarak çağrılacak job’ı çalıştırmaktadır. Bunun için özelleştirilmiş bir script eklenirse kaçırılmış bir job tekrardan sistem aktif olduğunda çalıştırılabilmektedir.

Eğer tek seferlik bir job oluşturmak isteniyorsa at komutu kullanılabilmektedir.

Crontab Syntaxı

Crontab Syntax

Cron job oluşturmadan önce cronların syntaxını öğrenmemiz gerekiyor. Cron syntaxı 5 alandan oluşmaktadır. Bunlar:

Yukardaki alanlarda kullanılabilen operatörlerde bulunmaktadır. Bu operatörler:

Cron Job Örnekleri

İlk olarak örnek bir kod yazalım ve bununla beraber cron job’ın çalışıp çalışmadığını kontrol edelim.

<?php
$baseDir = dirname(__FILE__);
$file = $baseDir. "/"."cron.service.log";
$current= file_get_contents($file);
$current .= date("Y/m/d") . date("h:i:sa"). "\n";
file_put_contents($file, $current);
?>

Örnek kodumuzda, bir log dosyası oluşturmakta ve buraya cron jobın çalıştığı zamanını kaydetmekte. Daha sonrasında bunu crontab’a ekleyelim.

crontab -l # bunu kullanarak oluşturulmuş crontab file incelenebilir.
crontab -e
* * * * * /usr/bin/php /home/cron.php # bu sayede her dakika bu komut çalıştırılacaktır

bunu ekledikten sonra cron.service.log içerisindeki çıktımız aşağıdaki gibi görünecektir.

2025/03/0910:43:01am
2025/03/0910:44:01am
2025/03/0910:45:01am
2025/03/0910:46:01am
2025/03/0910:47:01am
2025/03/0910:48:01am
2025/03/0910:49:01am
2025/03/0910:50:01am
2025/03/0910:51:01am
2025/03/0910:52:01am
2025/03/0910:53:01am
2025/03/0910:54:01am

Eklenen bu cron job’ı iptal etmek için ise crontab -e ile eklediğimiz komut satırını silmemiz ve kaydetmemiz yeterli olacaktır.

Genel hatlarıyla cron joblar bu şekildeydi. Bir sonraki yazıda görüşmek üzere.


Previous Post
Systemd Nedir ve Service Nasıl Oluşturulur?
Next Post
Sistem Programlama Nedir?