Crontab Cronjob kullanımı ve örnek kodlamalar

Cronjob, zamanlanmış görev olarak sistemlerde kullanılmaktadır. Örneğin her gün belirlediğimiz bir zaman diliminde birisine sisteminizle alakalı mail atma, veritabanınızın yedeklenmesi gibi birçok sistemsel işlemlerin gerçekleştirildiği yapıdır. Hazırlanan cronjoblar çogunlukla yazılımcı tarafından yazılan bash scriptlerle execute yani çalıştırılmaktadır. Crontaba eklenen scriptlerde serverin durumunun saglıklı şekilde kontrol edilmesi gerekmektedir. Aksi takdirde yoğun bash script çalıştırılması sistemin çökmesine sebep olabilmektedir. 

Crontab : Belirlediğimiz zaman diliminde belirlediğimiz scriptin çalıştırılmasını sağladığımız yapıdır.
Cronjob : Çalıştırılmasını istediğimiz scripti verilen isimdir. 

1. Crontab'ın editlenmesi: 
Linux tabanlı sisteminizde crontabların editlenmesi kullanılan kod parçacığı şu şekildedir:
crontab -e

2. Crontab'ın yapılan işlemlerin listelenmesi: 
Crontaba eklenmiş olan cronjobların listesini aşağıda bulunan kod parçacığı ile alabiliriz:
crontab -l

3. Crontab'ların silinmesi: 
Crontaba eklenmiş olan cronjobların tümünü silmek istediğimizde kullanılacak kod parçacığı şu şekildedir:
crontab -r

Örnek bir crontab dosyası şu şekilde olmaktadır:
*  *  *  *  *  /calıstirilacak komut

Yukarıda bulunan kod parçacığında * olarak yazılı olan alanlar çalıştırılacak komutun ne zaman çalıştırılması gerektiğini belirlemede kullanılmaktadır. İlk * dakika, ikinci * saat, üçüncü * gün, dördüncü * ay, beşinci * haftanın günlerine karşılık gelmektedir. Daha iyi anlaşılması için aşağıda bulunan yapıyı inceleyebilirsiniz:
.---------------- dakika (0 - 59) 
| .------------- saat (0 - 23) 
| | .---------- Ayın Günleri (1 - 31) 
| | | .------- Ay (1 - 12) 
| | | | .---- Haftanın Günleri (0 - 6) (Pazar=0 ya da 7) 
| | | | | 
* * * * * Çalıştırılacak komut

4. Örnek cronjoblar: 
30 dakikada bir çalışacak crontab girdisi şu şekilde olmaktadır :
*/30 * * * * /komut

Sabah 8 Akşam 18 arasında çalışacak crontab girdisi şu şekilde olmaktadır :
00 08-18 * * * /komut

Her 5 dakikada bir yapılmasını istediğimiz crontab girdisi şu şekilde olmaktadır :
*/5 * * * * /komut

Her saat başında yapılmasını istediğimiz crontab girdisi şu şekilde olmaktadır :
0 * * * * /komut

comments powered by Disqus