Önce kısa bir giriş yaparak Cronjob alanlarımızın neler olduğunu açıklayalım. Bir crontab dosyasına job eklemek için 5 tane zaman alanı ve bir de komut alanımız var. Genel format şu şekilde:
* * * * * komut
*1. : Dakika (0 – 59) *2. : Saat (0-23) *3. : Ayın kaçıncı günü (1-31) *4. : Ay (1-12) *5. : Haftanın kaçıncı günü (0:7: Pazar, 1: Pazartesi, 2: Salı, 3: Çarşamba, 4: Perşembe, 5: Cuma, 6: Cumartesi) Komut: Çalıştırılacak komut
Daha önce oluşturduğunuz -varsa- görevleri görmek için aşağıdaki komutu kullanabilirsiniz.
crontab -l
Düzenlemek için ise:
crontab -e
Her 5 dakikada çalışacak bir Cron Job
*/5 * * * * /home/kullanici/program.sh
Crontab’ınızı bu şekilde oluşturduğunuzda her 5 dakikada belirtilen dizindeki program.sh dosyası çalışacaktır. Eğer dosyamızın 5 değil de 15 dakikada bir çalışmasını isteseydik o zaman */5 yerine */15 yazmamız gerekecekti.
Her 5 saatte çalışacak bir Cron Job
* */5 * * * /home/kullanici/program.sh
Crontab’ınızı bu şekilde oluşturduğunuzda ise her 5 saatte belirtilen dizindeki program.sh dosyası çalışacaktır. Eğer dosyamızın 5 değil de 15 saatte bir çalışmasını isteseydik o zaman */5 yerine */15 yazmamız gerekecekti.
Her 5 günde çalışacak bir Cron Job
* * */5 * * /home/kullanici/program.sh
Crontab’ınızı bu şekilde oluşturduğunuzda ise her 5 günde belirtilen dizindeki program.sh dosyası çalışacaktır. Eğer dosyamızın 5 değil de 15 günde bir çalışmasını isteseydik o zaman */5 yerine */15 yazmamız gerekecekti.
Her 5 ayda çalışacak bir Cron Job
* * * */5 * /home/kullanici/program.sh
Crontab’ınızı bu şekilde oluşturduğunuzda ise her 5 ayda belirtilen dizindeki program.sh dosyası çalışacaktır. Eğer dosyamızın 5 değil de 15 ayda bir çalışmasını isteseydik o zaman */5 yerine */15 yazmamız gerekecekti.
Her haftanın 5. gününde çalışacak bir Cron Job
* * * * 5 /home/kullanici/program.sh
Bu crontab ise diğerlerinden biraz daha farklı. Sebebi ise komutu her 5 günde bir değil, yalnızca her haftanın 5. gününde çalıştırması. Yani her hafta Cuma günü belirlediğimiz komut çalışacak.
Günün belirli saatlerinde çalışacak bir Cron Job
* 8-18/2 * * * /home/kullanici/program.sh
Yukarıdaki örnekte ise saat 8 ile 18 arasında her 2 saatte çalışacak bir komut tanımlıyoruz.
Cron Job ile bir PHP dosyasını çalıştırmak
Eğer zamanladığınız görev bir komut değil de bir php dosyası ise kod aşağıdaki şeklide olmalı.
* */2 * * * php -q /home/kullanici/dosya.php
Bu örnekte de her 2 saatte dosya.php dosyası çalıştırılacaktır.
Zamanlanmış görevlerinizi kesintisiz çalıştırmak için sanal sunucularımıza göz atabilirsiniz.