Provided by:
manpages-tr_1.0.5.1-2_all 
İSİM
crontab - cron'u yöneten tablolar
AÇIKLAMA
Bir crontab dosyasında, cron(8) sürecinin hangi zamanda hangi komutu
çalıştıracağını belirten açıklamalar bulunur. Her kullanıcı kendi
crontab dosyasına sahip olabilir. Bu kullanıcılara ait crontab
dosyalarındaki zamanlanmış komutlar, crontab dosyasının sahibi hangi
kullanıcı ise onun adı altında çalıştırılır. Uucp ve News genellikle
kendi crontab dosyalarına sahiptirler, bu sayede bir cron komutunun
parçası olarak su(1) komutunu çalıştırma ihtiyacı ortadan kalkmış olur.
Boş satırlar, sekmeler ve ara boşluklar yok sayılırlar. `#' karakteri
ile başlayan satırlar yorum satırlarıdır. Dosyanın işletilmesi
sırasında sistem tarafından önemsenmezler. Unutmayın ki, cron komutları
ve yorumlar aynı satırda olamazlar. Bir yorum satırının devamında, bir
cron komutu yer alıyorsa, sistem burasını da yorum olarak kabul eder ve
işleme sokmaz. Aynı şekilde; yorumlar da, ortam değişkeni ayarları
biçiminde, aynı satırda yer alamazlar.
Geçerli bir crontab satırı, ya ortam değişkenidir, ya da bir cron
komutudur. Bir ortam değişkeni şu şekilde olur:
isim = değer
Eşit işaretinin yanındaki boşluklar seçime bağlıdır. Değer içindeki
sonraki boşluklar, isme atanan değerin bir parçası olarak kabul
edileceklerdir. Değer dizgesi, önde veya arkada yer alan boşlukları
korumak için, çift ya da tek tırnak içinde olabilir. Buradaki temel
nokta çift tırnak ile başlarsanız çift tırnak ile bitirmeniz
gerektiğidir. Aynı şekilde tek tırnak ile başlarsanız tek tırnak ile
bitirmelisiniz.
Pek çok ortam değişkeni, cron(8) süreci tarafından düzenlenir. SHELL
değişkeni, /bin/sh'ı işaret eder. LOGNAME ve HOME, crontab dosyasının
sahibinin /etc/passwd dosyasındaki değerlerine göre ayarlanır. HOME
ve SHELL ortam değişkenleri, crontab içindeki ayrıca belirtilerek
önemsenmeyebilir ama LOGNAME önemsenir.
UYARI: BSD sistemlerde, LOGNAME değişkeni bazen USER olarak
adlandırılabilir. Bu tür sistemlerde, USER değişkeni de ayarlanmalıdır.
LOGNAME, HOME ve SHELL'e ek olarak; cron(8), bu crontab dosyasındaki
komutların çalışması sonucu e-posta göndermeyi gerektirecek bir durum
ortaya çıkmışsa, MAILTO değişkenini de arar. Şayet MAILTO tanımlı ve
içeriği boş değil ise, posta burada belirtilen kullanıcıya gönderilir.
Şayet MAILTO belirtilmiş ama içeriği boş ise, (MAILTO="" gibi) e-posta
gönderilmez. Diğer durumlarda, e-posta, crontab dosyasının sahibi olan
kullanıcıya gönderilir. Bu seçenek, cron'u yüklerken postacı olarak
/usr/lib/sendmail yerine /bin/mail kullanmaya karar verdiğiniz
durumlarda oldukça faydalı olur -- /bin/mail sahte isme izin vermez ve
UUCP genellikle onun e-postalarını okumaz.
Bir cron komutunun yapısı V7 standartı ile oldukça uyumludur. Her
satır, sonunda bir komut olan, beş adet zaman ve tarih alanına
sahiptir. Şayet bu bir sistem crontab dosyası ise kullanıcı adı da
belirtilir. Komutlar cron(8) tarafından işletilir. Burada belirtilen
bir komutun işletilmesi için: dakika, saat ve ay bölümünün gerçek zaman
ile aynı olması ve haftanın günü ya da ayın günü bölümününden en az
birisinin gerçek zaman ile aynı olması gerekir (açıklama için aşağıdaki
NOT'a bakınız). Burada unutulmaması gereken bir nokta vardır: kayıp
saatler diye adlandırabileceğimiz zaman (yaz saati, kış saati
uygulamalarında geçişlerde yaşanan saat kaybı gibi) için ayarlanmış
görevler asla çalışmayacaktır. Benzer şekilde, bir seferden daha fazla
yaşanan saatler için ayarlanmış görevlerde iki kez çalıştırılacaktır
(yaz saati kış saati değişimlerinde saatin geriye alınıp, iki kere aynı
saat diliminin yaşanması).
cron(8), her dakika başı cron girişlerini gözden geçirir.
Zaman ve tarih alanları:
Alan adı izin verilen değerler
-------- ---------------------
minute 0-59 (dakika)
hour 0-23 (saat)
day of month 1-31 (ayın günü)
month 1-12 (veya ay isimleri)
day of week 0-7 (Pazar günü için 0, 7; isim kullanılabilir.)
Yıldız (*) ile işaretlenmiş bir alan baştan sona (=hepsi) anlamına
gelir.
Sayı aralıkları belirtilebilir. Aralıklar, `-' işareti ile ayrılmış iki
sayıdan oluşur. Belirtilen bir aralığa başlangıç ve bitiş sayıları da
dahildir. Örneğin; 8-11 saat aralığı: 8,9,10 ve 11 saatlerini kapsar.
Listeler kullanılabilir. Liste; virgül ile ayrılmış sayılar dizesidir.
Örneğin: ``1,2,5,9'' ve ``0-4,8-12''.
Adım değerleri aralıklarla birlikte kullanılabilir. Bir aralıktan sonra
`/<sayı>' şeklinde ifade edilir. Buradaki sayı adımlama değeridir.
Örneğin; "0-23/2" saat ifadesi, V7 standartında
"0,2,4,6,8,10,12,14,16,18,20,22" değerlerini ifade etmektedir. Adımlama
bir yıldızdan `*'sonra da yapılabilir. "*/2" nin anlamı; her iki saatte
bir demektir.
"month" ve "day of week" alan adları için isimler de kullanılabilir.
Büyük/küçük harf ayrımı olmaksızın ingilizce ismin ilk üç harfini
kullanabilirsiniz. İsim aralıkları ve isim listelerini kullanamazsınız.
6. alan (satırın geri kalanı kısmı) çalıştırılacak komutu belirtir.
Satırsonu karakterine veya "%" işaretine kadar olan kısım, /bin/sh ya
da crontab'ın SHELL ortam değişkenince tanımlanmış olan kabuk
tarafından çalıştırılır. Yüzde işareti `%', `\' işareti ile
öncelenmedikçe, satırsonu karakteri haline dönüşür ve ilk `%' den
sonraki tüm bilgi, standart girdiye komut olarak gönderilir.
Not - komutun çalıştırılacağı gün iki alandan ayarlanabilir: ayın günü
ve haftanın günü. Her iki alanda belirli bir gün ile sınırlıysa (yani
`*' değilse, yani belirtilmiş bir gün varsa), gerçek zaman bu iki
değerden biri ile eşleşince, komut çalıştırılır. Örneğin; ``30 4 1,15 *
5'' dizgesi bir komutu her ayın 1. ve 15. günleri saat 4:30'da, artı
her Cuma çalıştırılır.
ÖRNEK CRON DOSYASI
# komutları çalıştırmak için /bin/sh kullanılsın,
# /etc/passwd'de belirtilen önemsizdir
SHELL=/bin/sh
# kimin crontab'ı olduğunu boşver, bütün çıktıları `paul'e postala
MAILTO=paul
#
# hergün gece yarısından sonra beş dakika çalıştır
5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
# her ayın ilk günü saat 14:15 de çalıştır -- çıktılar paul'e postalansın
15 14 1 * * $HOME/bin/monthly
# hafta içi (Pazartesi-Cuma) hergün saat 22:00'da çalıştır ve Joe'yu kızdır
0 22 * * 1-5 mail -s "Saat 22:00" joe%Joe,%%Çocukların nerede?%
23 0-23/2 * * * echo "her gün 00:23, 02:23, 04:23 de çalışır"
5 4 * * sun echo "her Pazar 4:05'de çalışır"
İLGİLİ DOSYALAR
/etc/crontab Sistem crontab dosyası
İLGİLİ BELGELER
cron(8), crontab(1).
İLAVELER
Haftanın günlerini belirtirken; hem 0. gün, hem de 7. gün Pazar olarak
kabul edilecektir. BSD ve ATT bu konuda anlaşamamışlar gibi görünüyor.
Listeler ve aralıklar aynı alan içinde birlikte olamazlar. "1-3,7-9"
dizgesi ATT veya BSD cron'u tarafından reddedilecektir. cron komutu, bu
dizge yerine "1-3" veya "7,8,9" şeklinde tanımlamaları kabul edecektir.
Aralıklar adımlama içerebilir. "1-9/2" , "1,3,5,7,9" ile aynı
anlamdadır.
Ay ve haftanın günleri isim olarak belirtilebilir.
Ortam değişkenleri crontab içinden ayarlanabilir. BSD veya ATT'de alt
süreçlere aktarılan ortam, /etc/rc içindekilerden birisidir.
Komut çıktısı; crontab'ın sahibine postalanabilir (BSD bunu beceremez),
crontab'ın sahibinden başkasına postalanabilir (SysV bunu beceremez)
veya bu özellik kapatılabilir ve kimseye posta gönderilmez (SysV bunu
da yapamaz).
YAZAN
Paul Vixie <paul (at) vix.com> tarafından yazılmıştır.
ÇEVİREN
Yalçın Kolukısa <yalcink01 (at) yahoo.com>, Kasım 2003