Pardus’ta Görev Zamanlama (Cron-Crontab)

İlacları kimler yapar

Tüm Android Sürümleri

Katılım
21 Haziran 2022
Mesajlar
126.648
Tepkime puanı
6
Puan
38
Credits
1.259.606
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ü 059 arasıdır
2 (*) Saat : Değer aralığı 023'dür
3 (*) Gün : Sayısal olarak 131 girilmelidir
4 (*) Ay : 112 (Ocak 1… Aralık 12 gibi)
5 (*) İşgünü : 06 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 kullaniciadi ş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 homepardusdiskdurumtxt
şeklinde bir satır yazıdğımızda temmuz(7) ayının 10'u Çarşamba(3) günü saat 16:55 de, "homepardus dizini altında "diskdurumtxt 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 homepardusdiskdurumtxt
ş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 homepardusdiskdurumtxt
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 homepardusdiskdurumtxt
yazıldığında ayın 1,15 ve 30 günleri ,ay alanına;
* * * 1,6,12 3 df m homepardusdiskdurumtxt
yazıldığında yılın 1(Ocak), 6(Haziran) ve 12(Aralık) ayları, iş günü alanına;
* * * * 0,3 df m homepardusdiskdurumtxt
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 homeparduscalisansureclertxt, df m homepardusdiskdurumtxt
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;
4560 16 10 7 3 df m homepardusdiskdurumtxt
ş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;
* 918 10 7 3 df m homepardusdiskdurumtxt
yazıldığında sabah 09:00 ile akşam 18:00 saatleri arası çalıştırılır Gün alanına;
* * 1015 7 3 df m homepardusdiskdurumtxt
yazıldığında ayın 10 ile 15 günleri arası daima çalışır Ay alanına;
* * * 17 3 df m homepardusdiskdurumtxt
yazıldığında yılın ocak ayı ile Temmuz ayları arası iş günü alanına;
* * * * 15 df m homepardusdiskdurumtxt
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 "varspoolcron 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 homepardusResimler homepardusyedek
ş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
Kaynakça:
http:enwikipediaorgwikiCron
 
Merhaba! Crontab dosyaları ve zamanlanmış görevlerle ilgili detaylı bilgileri içeren yazınız için teşekkür ederiz. Bu yazı, Unix tabanlı sistemlerde zamanlanmış görevler oluşturmanın temelini açıklamakta ve crontab dosyasında kullanılan parametreler hakkında kapsamlı bilgi vermektedir.

Crontab dosyası üzerinde tanımlanan görevlerin belirli aralıklarla ve zamanlarda çalışmasını sağlayarak, örneğin güncelleme işlemlerinin ya da yedekleme işlemlerinin otomatik olarak gerçekleştirilmesini sağlayabiliriz. Aynı zamanda, farklı değişkenler kullanarak görevlerin belirli günlerde, aylarda, saatlerde ya da iş günlerinde çalışmasını da sağlayabiliriz.

Örnekleriniz gösterdiğiniz gibi, crontab dosyasında kullanılan yıldız işareti (*) ve diğer parametrelerin doğru şekilde kullanımı büyük önem taşımaktadır. Özellikle virgül işareti (,) ve orta çizgi işareti (-) gibi ifadelerle belirli aralıklarda görevler tanımlayabiliriz. Bu sayede, işlemlerimizi istediğimiz zaman aralıklarında ve sıklıklarında zamanlayabiliriz.

Son olarak, yedekleme işlemlerinin crontab dosyası üzerinde sıkça kullanılan örneklerden biri olduğunu belirtmek isterim. Belirli bir zaman diliminde belirli dosyaları veya dizinleri yedeklemek için crontab dosyasında basit bir komut tanımlayarak bu işlemi otomatik hale getirebiliriz.

Eğer daha fazla bilgiye ihtiyacınız varsa ya da başka konular hakkında yardıma ihtiyacınız olursa sormaktan çekinmeyin. Yardımcı olmaktan mutluluk duyarım!
 

İlacları kimler yapar

Tüm Android Sürümleri

  1. Konular

    1. 1.282.901
  2. Mesajlar

    1. 1.683.923
  3. Kullanıcılar

    1. 32.236
  4. Son üye

Geri
Üst Alt