Crontab Kullanımı – Zaman yönlendirmeli işler

Crontab , Unix sistemlerin coğunda gelen bir zamanlama programıdır. Yaptığı iş isteğidiniz betiğin ya da programın istediğiniz zamanlarda calışmasını sağlamaktır.

Crontab ile çalışmak:

Aşağıdaki komutları hangi kullanıci ile calıştırırsanız o kullanıcının crontab ında işlem yapmış olursunuz.

crontab -l : crontab içeriğini listeler.

crontab -e : crontab i e parametresi ile çalıştırırsanız öntanımlı metin editörünüzde crontab konfigurasyonu açılacaktır.

crontab -r : afsin kullanıcısının crontab içeriğini siler.

Crontab ` da zamanlama

Crontab da zamanlama 5 basamakta yapılmaktadır:

1. Dakika ( Saatteki dakikalar 0-59)
2. Saat ( 24 Saat formatında 0-23 )
3. Gun ( Ayın günleri 1-31 )
4. Ay ( Yılın ayları 1-12 )
5. Haftanın günü ( Haftanın günleri 0-6 , 0. gün pazar günüdür )

Crontab da her satır ayrı bir girdiyi ifade eder ve satır formatı şu şekildedir:

* * * * * /calisacak/programin/yeri/programim.calistir

Yukarıdaki satırda yer alan yıldızlar sırasıyla 1-2-3-4-5 de belirttigim zaman içeriklerini taşır.

Örneğin; /root/scripts/backup.sh betiğimizi her gece saat 02:30 da çalıstıracak bir crontab içeriği oluşturalım:

30 2 * * * /root/scripts/backup.sh

Bu satir betiğimizi her gece 02:30 da çalıştıracaktır.

Peki crontab ımızı daha fonksiyonel kullanamaz mıyız ?

15,45 0,12 10 3,6,9,12 * /calisacak/programin/yeri/digerprogramim.calistir

Şimdi de yukaridaki crontab satırını inceleyelim.

15,45 : Dakika olarak 15 ve 45 gecelerde
0,12 : Saat olarak gece 00 ve öğlen 12 de
10 : Ayın 10 unda
3,6,9,12 : 3. , 6. , 9. ve 12. aylarda

Tüm bunları birleştirirsek ; Her yılın mart, haziran, eylül ve aralık aylarının 10. gününde 00:15, 00:45, 12:15 ve 12:45 saatlerinde istediğimiz program çalışır.

Peki belirlediğimiz her periyot için çalışmasını istediğimiz programlar için nasıl bir crontab satırı yazmalıyız?

*/10 * * * * calisacak/programin/yeri/digerprogramim.calistir

Yukarıdaki satır ile her saat, her gün, her ay, her yil 10 dakikada bir istedigimiz programımız çalışacaktır.

  2Yorumlar

  1. black_wolf465   •  

    ben cron u her dakika çalıştırmak istersem ne yazmam gerekli acaba ?

  2. Coşkun ÇETİN   •     Yazar

    Daha fazla örnek vereyim.

    Her 10 dakikada bir çalıştırmak için */10 * * * *
    Her Saat 15 geçe çalışırtırmak için 15 * * * *
    Her Cuma 00:10 da çalıştırmak için 10 00 * * 4
    Her Gün Saat 23 de Çalıştırmak için 0 23 * * *

Bir Cevap Yazın