Linux/Unix sistemlerde zamanlanmış görevler oluşturmak üzere kullanılan cron, bir komutun, scriptin ya da uygulamanın belirli bir zamanda ya da zaman periyodunda çalıştırılmasını sağlamaktadır.
Cron girdileri /etc/crontab isimli dosyada crontab isimli araç ile düzenlenmektedir. Bu aracın temel kullanım şekilleri aşağıdaki gibidir.
Crontab’ın Editlenmesi
Crontab’ı vi editorü ile editmeke üzere -e parametresi kullanılır.
# crontab -e
Cron Girdilerinin Listelenmesi
Tüm cron girdilerini listelemek için ise -l paramteresi kullanılır.
# crontab -l
Cron Girdilerinin Kaldırılması
Tüm cron girdilerini silmek için ise -r paramteresi kullanılır.
# crontab -l
Cron Girdileri
Bir cron girdisi oluşturmak, crontab dosyasını editlemek ve girdi satırını düzgün dosyaya yazmaktan ibarettir. Temel bir cron girdisi aşağıdaki gibidir:
* * * * * /calistirilacak/komut/yada/script
Yukarıdaki cron girdisindeki (*) işaretleri zaman ve tarih değerlerinin tanımlanmasında kullanılır. Yukarıda görüldüğü şekilde bir cron girdisi tanımlarsanız çalıştırılmasını istediğiniz komut ya da script dosyası dakikada bir çalıştırılacaktır. Ancak belirli bir zaman set etmek isterseniz ilgili * işaretlerinin yerine doğru değerleri girmeniz gerekecektir.
* işaretlerinin sıralaması ve manaları ise aşağıdaki gibidir
.---------------- 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
Görüldüğü gibi ilk sıradaki yıldız 0 ile 59 arasında bir değer olabilen dakikayı ifade eder, sonraki 0 ile 23 arasında bir değer verebileceğiniz saat ifadesidir. Üçüncü yıldız da 31 gün üzerinden belirlenen ayın günlerini belirler, dördüncü alan ay ve sonunucu alan da haftanın günlerini ifade eder.
Konuyu daha iyi kavramak için aşağıdaki örneklerden yararlanabilirsiniz.
Örnekler
10 Dakikada Bir Çalışacak Cron Girdisi
*/10 * * * * /komut/yada/script
- */10 – Her On Dakika
- * – Her Saat
- * – Her Gün
- * – Her Ay
- * – Haftanın Her Günü
Hergün öğlen 12 ve akşam 18′de Çalışacak Cron Girdisi
00 12,18 * * * /komut/yada/script
- 00 – Her Saat (00 Saat başlangıcı)
- 12,18 – Öğlen 12′de ve Akşam 18′de
- * – Her Gün
- * – Her Ay
- * – Haftanın Her Günü
Sabah 9 Akşam 18 Arasında Her Saat Çalışacak Cron Girdisi
00 09-18 * * * /komut/yada/script
- 00 – Her Saat (00 Saat başlangıcı)
- 09-18 – Sabah 09′dan Akşam 18′e (09, 10, 11, 12, 13, 14, 15, 16, 17, 18)
- * – Her Gün
- * – Her Ay
- * – Haftanın Her Günü
Hafta İçi Günler Sabah 9 Akşam 18 Arasında Her Saat Çalışacak Cron Girdisi
00 09-18 * * 1-5 /komut/yada/script
- 00 – Her Saat (00 Saat başlangıcı)
- 09-18 – Sabah 09′dan Akşam 18′e her saat. (09, 10, 11, 12, 13, 14, 15, 16, 17, 18)
- * – Her Gün
- * – Her Ay
- 1-5 – Pazartesi (1), Salı(2), Çarşamba(3), Perşembe(4), Cuma(5)
Örnekleri çoğaltmak mümkün ancak yazım şekli genel olarak böyledir ve kendi cron girdilerinizi kendi ihtiyaçlarınıza göre aynı mantıkla düzenleyebilirsiniz.
Detaylı bilgi için bkz: