3
03
2017

Crontab, Linux ve Unix sistemlerinde zamanlanmış görevleri yerine getirmeyi programlar veya script gibi hertürlü içerikleri zamanladığınız saat veya günde o işlemin çalıştırmanıza sebep olur. Aslında crontab çok önemli bir yeri vardır linuxda. Linuxda bu işlemi yani crantab kullanımında cok dikkatli olmalıyız. Aksi halde yaptığınız işlem çalışmayabilir veya sistemi veya yaptığınız işlemi ne ise onu bozabilirsiniz. Linux farklı farklı tabanlılarda isletim sistemlerin ne kadar stabil işletim sistemleri olsada örneğin fazla rem harcamalarınızda donanımsal problemlere yol acabilirsniz tabi bu sadece bir örnek aklıma gelen. Biraz önçe kurduğum çümlede çok dikkatli olmalıyız derken şunu belirtmekte fayda var crontab yaptığınız işlemi bozmaz veya yaralamaz benim aslında demek istediğim tekrardan örnek vermek gerekirse bir işlemi başlattığınızda cok ram harcıyorsa ve tavana vuruyorsa ve bunu crontab dakika başına ayarladıysanız linuz işletim sistemi yeniden başlatsanız dahi ram yükseleceği için yine işletim sisteminiz kilitlenecektir bu sebepden dolayı geriye formatlamaktan başka birşey kalmayacaktır. Yani crontab kullanımında cok dikkatli olmalıyız.

Crontab linux sistemlerinde kurulu gelmektedir çünkü linux’un crontab bir parçası gibi sayılmaktadır. Crontab ile ilgili kullanabiliceğimiz paremetrelerimizi bir inçeleyelim. Bunun için alttaki komutu terminale yazmamız yeterlidir.

crontab –help

Bu komutu yazdırdıktan sonra hemen karşımıza terminal ekranına bir bilgi çıkar ve burada bizim crontab komutu ile parametrelerin neler yapabileceğmizi göstermektedir. Örneğin aşağıdaki ekran cıktısını resimde görebilirsiniz.

Alttaki komutun anlamı crontab editlemenize veya yeni görevler eklemenize yada eklediğiniz görevleri zamanlandırmanıza yarar.

crontab -e

Alttaki komutun ise crontab görevlerin listelenmesini sağlar.

crontab -l

Alttaki komutun görevi ise günlük haftalık aylık gibi vb.. görevlendirdiğiniz içerikleri yada görevleri temizler siler.
Not: Crontab görevleri temizler.

crontab -r

Crontab aşağıdaki komut ile yazılır Bu sadece bir örnektir.

* * * * * /calıstirilacak/komut/yada/script

Örneğe geçmeden önçe siz stop yazarsanız bir sefere mahsus çalısıp calısmadığını kontrol edebilirsiniz. Hatta aşağıdaki örneklerde saatleri sunucu saatleri ile 5 dakika sonra 10 dakika sonra gibi yakında tutarsanız crontabın çalıştığını sorun olup olmadığını görebilirsiniz daha sonra istediğiniz gibi gerçek zamanlı ayarlabilirsiniz zamanları.

Hatta sunucu saatini ve tarihini öğrenmek için aşağıdaki komutu terminale girmeniz yeterlidir.

[email protected]:/# date
Fri Mar 3 20:58:03 +03 2017

Aşağıdaki verdiğim örnek türünün herhangi bir amaçı yoktur ama siz kendi örneklerinizi kendiniz yapabilirsiniz.

Şimdi gerçek bir örnek yazalım.

00 5,8,12,18 * * * /etc/init.d/vsftpd restart

Görüldüğü gibi saat aralığına virgüller koyulmuş bunun anlamı birden çok saatlerde zamanlamış anlamına gelir.

Eğer aşağıdaki gibi eklemiş olsaydık. Bunun anlamı ise her 5 saat’de restart at anlamına gelir.

00 */5 * * * /etc/init.d/vsftpd restart

Yada aşağıdaki gibi yazılırsa her 5 dakikada bir restart at anlamına gelir.

*/5 * * * * /etc/init.d/vsftpd restart

Bununla ilgili bir örnek daha verebilecek olursak aşağıdaki komutda ise sadece her saatde 10’cu dakika da restart at anlamına gelir.

10 * * * * /etc/init.d/vsftpd restart

Yada saat 14 de 10 geçe hergün restart atalım.

10 14 * * * /etc/init.d/vsftpd restart

Şimdi ise komut yerine geçen bu yıldız “*” işaretlerini aşağıdaki gibi tanımlayıp açıklayalım.


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

Kendi dilimde sizlere bir kaç ip ucu vermeye çalışsamda daha cok örneklere arama motoruna crontab kullanımı yazarsanız bir cok kişinin çalışmalarına ulaşabilirsiniz.

Bu Sayfa İçin Etiketler ?

Bir Yorum Yazın







XHTML: Bu etiketleri kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>