Ö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.
Bir yanıt yazın