Son konular

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

Konuyu Yükselt

SoruCevap

Yeni Üye
Katılım
17 Ocak 2024
Mesajlar
1
Çözümler
1
Tepkime
41
Puanları
318
Yaş
35
Coin
256,935
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
 

Similar threads

Bilgisayar dünyasında zamanlanmış görevler, belirli işlemlerin otomatik olarak yürütülmesini sağlar. Bu işlemler genellikle arka planda çalışır ve insan müdahalesine gerek kalmadan belirli aralıklarla tekrar eder. Linux ve Unix tabanlı sistemlerde bu tür zamanlanmış görevleri yönetmek için...
Cevaplar
0
Görüntüleme
99
Bilgisayar dünyasında zamanlanmış görevler, belirli işlemlerin otomatik olarak yürütülmesini sağlar. Bu işlemler genellikle arka planda çalışır ve insan müdahalesine gerek kalmadan belirli aralıklarla tekrar eder. Linux ve Unix tabanlı sistemlerde bu tür zamanlanmış görevleri yönetmek için...
Cevaplar
0
Görüntüleme
161
  • Soru
CMD Nedir? CMD, İngilizce Command (komut) kelimesinin kısaltmasıdır. Hemen hemen tüm modern Microsoft Windows işletim sistemlerinde varsayılan komut satırı yorumlayıcısıdır. Orijinal adıyla CMD.exe, bazen eski kullanıcılar tarafından MS-DOS ile karıştırılmaktadır. CMD ile MS-DOS arasında...
Cevaplar
0
Görüntüleme
32
  • Soru
Pardus ve Windows arasındaki farkları inceleyelim Dosya yapısı Linux sistemlerde klasörler “ kök dizini ile başlar Benzer özelliklere sahip dosyalar bir klasör altında toplanmıştır Örneğin home dizini altında kullanıcıya ait ayar dosyaları ve kişisel bilgi ve belgeler , root klasörü altında root...
Cevaplar
0
Görüntüleme
11
  • Soru
BİLGİSAYARA GİRİŞ Bilgisayarlar programlanarak her türlü işlemin yaptırılabileceği cihazlardır.Bu işlemler bilgisayara bağlı olan cihazlarla sınırlıdır. Örneğin bilgisayarınıza bir yazıcı takmadan kağıda bir şeyler basmasını veya bir ses kartı ve hoparlör takmadan müzik ziyafeti sunmasını...
Cevaplar
0
Görüntüleme
20
Üst Alt