Hiçbir kullanıcı, tüm vaktini bilgisayar başında geçirmek istemez. Bazı işlemlerin zamanı geldiğinde başlamasını bekler. Örneğin güncellemelerin zamanlanması ve zamanı gelince çalışması, kullanıcılar tarafından istenilir. İşletim sistemlerinde yapılan işlemler, süreçler halinde yönetilir. Bazı süreçler bir sürecin tetiklemesiyle çalışırlar. İşletim sistemleri de bu yüzden, birtakım işlemleri zamanlar ve zamanı gelince çalıştırırlar. Yani kısacası, hem kullanıcılar hemde işletim sistemleri zamanlanmış görevlere ihtiyaç duyarlar.

Unix işletim sistemlerinde, zamanlanmış görev oluşturma aracı cron'dur. Zamanlanan görevler bir crontab dosyasına yazılır.  Kullanıcı zamanlanmış görev oluşturabilmesi için crontab dosyasına cron görevi tanımlamalıdır. İsterseniz öncelikle bir cron görevinin yazılımını görelim.

Bir cron göre altı(6) adet değişkenden oluşur. Varsayılan değerler " * " karakteri ile temsil edilir.

* * * * * *

1 2 3 4 5 6

1. (*)  Dakika : Girilebilecek değer aralığı ve türü 0-59 arasıdır.

2. (*) Saat : Değer aralığı 0-23'dür.

3. (*) Gün : Sayısal olarak 1-31 girilmelidir.

4. (*) Ay : 1-12 (Ocak=1... Aralık=12 gibi)

5. (*) İşgünü : 0-6 arası rakamlar girilmelidir. (Pazar=0...Cumartesi=6 gibi)

6. (*) İşlem : Komut veya komutlar.

Öncelikle; bilgisayarımızda daha önce tanımlanmış bir crontab dosyası var mı yok mu kontrolu için komut satırına;

$ crontab -l

yazalım. Eğer ekrana " no crontab for kullanici_adi " şeklinde bir çıktı veriyorsa daha önce bir tanımlama yoktur. Tanımlı bir crontab dosyası varsa içeriği ekranda görüntülenir. Olmadığını varsayarak bir crontab dosyası oluşturalım. Crontab dosyası oluşturmak için komut satırına;

$ crontab -e

yazdılmalıdır. Açılan ekranda # işareti ile başlayan satırlar bulunur. Bunlar açıklama satırlarıdır. Bizde oluşturduğumuz görevlerin üzerine # işareti içeren satırlar ekleyerek tanımladığımız görev hakkında açıklama yazabiliriz. Bu şekilde bizden sonra bu alana giren kullanıcılar yazılanları dikkate alarak ve ne yapılmak istendiğini bilerek hareket ederler.

Örnek olarak crontab dosyasına;

# Disk durumunu gösteren bir dosya oluşturma

55 16 10 7 3 df -m >> /home/pardus/diskdurum. txt

şeklinde bir satır yazıdğımızda temmuz(7) ayının 10'u Çarşamba(3) günü saat 16:55 de, "/home/pardus/" dizini altında "diskdurum. txt" adında bir txt dosyası oluşturur. Ve içerisine disk durumu hakkında bilgi veren "df" komutu ile aldığı sonucu yazdırır.

Crontab dosyasında verilebilecek altı değişkene ait bazı parametreler vardır. Bunlar;

" * " yıldız işareti

" , " virgül işareti

" - " orta çizgi işareti'dir.

" * " ile gösterilen alanların aldığı değerler farklı olduğu gibi bu kısma değişken tanımlanmadığında yapılacak görevlerde farklılaşır.

Birinci alana sayısal bir değişken tanımlanmadığında her dakika işlem devam eder. Örneği belirlenen zaman aralığında sistem loglarını her dakika bir dosyaya kopyalamasını istediğinizde bu alana " * " değişkenini atayabilirsiniz.

İkinci alan dakika da olduğu gibi, değişken tanımlanmadığında her saat çalışır.

Üçüncü alan " * " değişkenini aldığında belirlenen aralıkta her gün işlem tekrar edilir.

Dördüncü alan " * " değişkenini aldığında her ay görev tekrar edilir.

Beşinci alan " * " değişkenini aldığında belirlenen görev haftanın her günü çalışır.

Altıncı alanın " * " alan boş olamaz. Bir görev tanımı yapılmalıdır.

" , " parametresi kullanıldığında değişkenlerin alabileceği değerleri örneklendirelim;

Yapılacak işlemin belirli dakikalarda tekrarı isteniyorsa bu alana " , " parametresi kullanılarak değer ataması yapılır. Örneğin;

0, 10, 20, 30, 40, 50 16 10 7 3 df -m >> /home/pardus/diskdurum. txt

şeklinde bir görev tanınmlandığında görev 10'ar dakika ara ile çalıştırılır. Aynı şekilde saat alanına;

* 7, 12, 19, 23 10 7 3 df -m >> /home/pardus/diskdurum. txt

yazarak saat 7'den itibaren gün içerisinde 5'er saat ile görev çalıştırılır. Gün alanına;

* * 1, 15, 30 7 3 df -m >> /home/pardus/diskdurum. txt

yazıldığında ayın 1, 15 ve 30. günleri , ay alanına;

* * * 1, 6, 12 3 df -m >> /home/pardus/diskdurum. txt

yazıldığında yılın 1(Ocak), 6(Haziran) ve 12(Aralık) ayları, iş günü alanına;

* * * * 0, 3 df -m >> /home/pardus/diskdurum. txt

yazarak hatfanın Pazar ve Çarşamba günlerinde tanımlanan görevin yerine getirilmesi istenebilir.

Altıncı alana " , " parametresi ile birden fazla görev yüklenebilir. Örneğin;

* 7, 12, 19 * * * ps -ax >> /home/pardus/calisan_surecler. txt, df -m >> /home/pardus/diskdurum. txt

yazarak hem disk durumundan hemde işletim sisteminde çalışan süreçlerin bilgisi alınabilir.

Üçüncü parametre olan " - " orta çizgi ile değerlere belirli bir aralık atanabilir. Örneğin dakika alanına;

45-60 16 10 7 3 df -m >> /home/pardus/diskdurum. txt

şeklinde bir görev tanınmlandığında görev 45 ile 60. dakika arasında her dakika çalıştırılır. Aynı şekilde saat alanına;

* 9-18 10 7 3 df -m >> /home/pardus/diskdurum. txt

yazıldığında sabah 09:00 ile akşam 18:00 saatleri arası çalıştırılır. Gün alanına;

* * 10-15 7 3 df -m >> /home/pardus/diskdurum. txt

yazıldığında ayın 10 ile 15. günleri arası daima çalışır. Ay alanına;

* * * 1-7 3 df -m >> /home/pardus/diskdurum. txt

yazıldığında yılın ocak ayı ile Temmuz ayları arası iş günü alanına;

* * * * 1-5 df -m >> /home/pardus/diskdurum. txt

yazarak hafta içi yani Pazartesi ve Cuma günleri arası görev daima çalışır. Son değer olan işlem alanında bu parametre kullanılmaz.

Her kullanıcının oluşturduğu cron grörevleri "/var/spool/cron/" dizini altındaki crontab klasöründe kullanıcı adı ile barındırırlır. Görsel olarak da bu dosyalara erişerek değişiklik yapılabilir.

Küçük bir örnek fakat BÜYÜK bir görev !

Aslında crontab'ın en çok kullanım alanlarından biri yedekleme işlemleridir. Dosya veya dizinleri belirtilen zaman da belirlenen yere yedekleme yaptırılabilir. Örneğin;

00 16 1 * 1 cp -R /home/pardus/Resimler /home/pardus/yedek

şeklinde yazdığınızda her ayın 1'inde saat 16:00 da resimler klasörünüzü yedek klasörüne tüm alt klasörleri ile beraber kopyalar. Bu ve bunun gibi cron görevleri kullanıcıların ihtiyaçlarına karşılayacak küçük görevlerdir.

Kategoriler:

Yapılan Yorumlar

Henüz kimse yorum yapmamış.

Bu sayfada yer alan bilgilerle ilgili sorularınızı sorabilir, eleştiri ve önerilerde bulunabilirsiniz. Yeni bilgiler ekleyerek sayfanın gelişmesine katkıda bulunabilirsiniz.

Yorum Yapın

Adınız:
E-Mail:
Mesajınız:
Doğrulama: Güvenlik Kodu
 
Hosts Dosyası Nedir?     Ekinoks Nedir?     Vista Transformation Pack 5.5     Samsung'un 32 GB Flash Sürücüsü Görücüye Çıktı     İntel'in Core 2 Duo E6400'ü %56'lık oc ile fiyat-performans kralı     Avedesk 1.3 Bölüm 1     İşte Karşınızda Yeni Honda Civic     M-Audio MobilePre USB - USB Beslemeli, Pre-amplifikatörlü USB Ses Kartı     M-Audio, Avid/Digidesign tarafından satın alındı - İki dev birleşti     Cubase 4 - Devrimci bir kilometre taşı Müzik prodüksiyon yazılımı.     Avedesk Bölüm2     VW Touran CCS (BiZEL Motorlu Tek Araç)     Windows Vista Güncelleştirme Paketi     Arama Motorları Nasıl Çalışır?     Murat Günak kimdir?     AMD: Fusion ile CPU ve GPU'yu Birleştiriyor.     NanoTeknoloji Nedir?     Java Destekli Telefonlar için 3D Performans ve Kalite Testleri     VW Tiguan ( Küçük Touareg )     Cubase 4 - Kontrol Odası (Control Room)     SSL Nedir? Nasıl Çalışır?     Avedesk Bölüm 3 - Ave Scripter Eklentileri     C-Metisse (Citroen'in Yeni Bombası)     Ürün incelemesi: Saitek P3000 Wireless PRO Gamepad     Beklenen oyun: Trackmania UNITED çıktı!     H-racer ve Hydrogen Station     Windows Vista Sidebar     Ürün İncelemesi: Toshiba USB 2.0 1GB Flash Bellek     VISTA TRANSFORMATION PACK 6.0     Ürün İncelemesi: APC Back-UPS RS 1000VA Kesintisiz Güç kaynağı(KGK)     AMD FireSTREAM Kartlara Logosunu Verdi     Pardus Linux 2007 Beta 2     Ekran Kartları Nasıl Çalışır?     Saab Bio Power     Yüzyılın icadı: Erke Dönergeci     Hidrojen Kullanan Otomobil Sayısı Her Geçen Gün Artıyor!     Nintendo Wii Haber Kanalı Artık Yayında     Samsung'tan Dünyanın En İnce Cep Telefonu     Mobility Radeon X1900     Vista'nın da çıkmasıyla beraber 4 çekirdekli işlemciler artık standart hale geliyor     TecrubeliPilotAraniyor.COM     Super Mario artık Nintendo Wii ‘de     Avedesk Eklentilerin Ayarlanması     Dünyanın İlk Boxer Turbo Dizel Motoru     Ford Mustang Giugiaro Konsept     Dizüstü Canavarı: Monster T2-Rex T72M575U1     Yüzyılın yarış oyunu: Test Drive Unlimited!     ATI Catalyst 7.2 Sürücüleri Çıktı!     Microsoft Virtual PC 2007     Kuantum Bilgisayarlar Geliyor     Video oyunları çocukları zayıflatıyor     MSN alternatifi, kullanıcıların yeni gözdesi: Trillian     Vista üzerinde IIS 7.0 Kurulumu     Kuantum Bilgisayarlar     Yahoo Messenger Vista !     Casper, dört çekirdekli Intel CoreTM 2 Quad Q6600 işlemciye sahip yeni modelini pazara sundu.     HP iPAQ Voice Messenger 510 ; Ses tanıma, Wi-Fi, Windows Mobile 6.0 hepsi bir arada     F1'e geri sayım…     Intel 11X Fabrikasını Yenliyor     Toshiba'dan 51 GB HD DVD     Corel WordPerfect Lightning' in halka açık beta sürümünü yayımlıyor!     Far Cry'ın devam oyunu, muhteşem grafikleriyle: Crysis     Değişen İklim Değil,Enerji Olsun!..     Küresel Isınmanın Nedenleri? Sebepleri?     IBM Dünya'nın En Güçlü Bilgisayarını Geliştriyor     Hard Disk Pazarının Kralı: Seagate     Oyunlar yeni bir boyut kazandı: TrackIR!     Vista Aero Reloaded     Elbit Systems VIPeR "avcı-katil" robotu çıkarıyor     Adobe'den Ücretsiz PDF Oluşturma Hizmeti     Türk insanına has Google Logoları…     Yahoo'dan Sınırsız Email Kapasitesi     Hava Kirliliğini Arttıran Sıcaklık İnversiyonu- Bölüm1     Hava Kirliliğini Arttıran Sıcaklık İnversiyonu- Bölüm2     AeroClear Glass for Vista Theme     NuSphere PhpED IDE     Ati HD2900XT, Nvidia 8800GTX'a Karşı: Crysis Demo ve 3DMark06 Testleri     Vista'da Farklı Temalar Kullanmak     Google Spreadsheets     Mucitlerimiz Gün Işığına Çıkıyor     768MB 8800GTX, 512MB ATI HD 2900XT, 640MB 8800GTS Oyun ve 3DMark06 Testleri     Nükleer Santraller: Nasıl Çalışır? Problemleri Nelerdir?     İTÜ Robot Olimiyatları     Free Loader güneş pili     Hovercraft: Sınır Tanımayan Araç     Vestel, Tamamen Türk Yapımı Yakıt Pili Üretti     Kuzey Işıkları'nın Dansı     Boğaziçi Üniv. Robot Günleri     Adobe CS3 ile Mac'te, Daha Fazla Şey Yapın     Yenilenebilir Enerji Kaynakları Nelerdir?     Beynimiz Nasıl Öğreniyor?     Motorlarda Yanma Odaları ve Özellikleri     Motorlarda Piston Tipleri ve Kullanılan Malzemeler     Güneş Enerjisi Nedir?     Hidrojen Yakıt Pilleri Nasıl Çalışır?     Crysis'in sahne tasarımlarına bir göz atalım     Colin McRae: DIRT     Geleceğin Yakıtı, Hidrojen Nedir?     Güneş Enerjisinden Elektrik Nasıl Elde Edilir?     Hidrojen Yakıt Pilinin Kullanım Alanları ve Dünya Üzerindeki Gelişimi    
Coğrafya
Coğrafya Sitesi
Tarih Sitesi
Türkçe Sitesi
Bilgi Sitesi
Bilgiler