Linux’ta Cron Oluşturma

Linux’ta Cron Oluşturma

Unix tabanlı herhangi bir işletim sisteminde (Ubuntu, Debian vs) zamanlanmış görev oluşturmak için crontab dosyasını aşağıdaki gibi düzeltmeniz gerekiyor. Crontab, bizim belirttiğimiz zamanlarda, yine bizim belirttiğimiz komutları çalıştırmak için kullanılır. Aşağıda bir kaç örnek ile çeşitli zaman aralıklarında, çeşitli komut ve dosyaları çalıştıran kodları paylaşıyorum.

Ö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.

© 2012, BurakS. All rights reserved.

1 Yorum

  1. çok faydalı bir yazı emeklerinize sağlık

Yorum Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir