Belirli zamanlarda komut çalıştırma - at ve batch komutları

Başlatan Suat, 26 Nisan 2016 - 11:46:26

« önceki - sonraki »

0 Üyeler ve 3 Ziyaretçi konuyu incelemekte.

Suat

Klavyeden girilen UNIX komutlarının hemen değil bir süre sonra çalışması isteniyorsa at ve batch komutlarından yararlanabilir. At ve batch komutları, sleep komutunda olduğu gibi komut yorumlayıcısını durdurmaz. Bu komutlar,

   at [u]zaman[/u] [[u]tarih[/u]]  [+ [u]artma[/u]]
   at -r [u]iş[/u]...
   at -l [[u]iş[/u]...]
   batch


biçiminde tanımlanır. Görüldüğü gibi, at komutu ile birlikte -r ve -l seçenekleri kullanılabilmektedir. At veya batch komutlarıyla yaratılan işlemler -r seçeneği ile iptal edilebilir. Bu komutlarla yaratılan işlemleri listelemek amacıyla -l seçeneği tercih edilebilir.

Komutun çalıştırılacağı zaman ve tarih bilgisi,

   [u]saat[/u]:[u]dakika[/u]

biçiminde de tanımlanabilir. Tanıma öğleden önce (am) öğleden sonra (pm) ifadeleri eklenebilir. Eğer o günün tarihine belirli gün sayıları eklemek isteniyorsa +n biçiminde tanımlar yapılmalıdır.

Batch komutu belirli bir işin, bir iş kuyruğuna atılarak o anda değil, sistemin uygun bulduğu bir anda çalıştırılmasını sağlar. İş uyruğuna atılmış bir önceki iş -r seçeneği yardımıyla silinebilir. Kullanıcı sadece kendi yarattığı işleri silebilir. Diğer işler ancak sistem yöneticisi tarafından silinebilir.

Örnek

Saat 10.00'da rm *.tmp komutunun çalışmasını istiyoruz. Bu amaçla at komutu aşağıda gösterildiği gibi kullanılabilir. Komut yazıldıktan sonra return tuşuna basılırsa imleç bir alt satıra geçerek çalıştırılacak komutların yazılmasını bekler.

   $ at 10:03
   _

Belirlenen saatte rm * .tmp komutu çalıştırılmak istendiğine göre, buraya komut doğrudan kaydedilir.

   $ at 10:03
   rm * .tmp
   _


İstenirse art arda başka komutlar da kaydedilebilir. At komutunu çalışır hale getirmek için ctrl ve d tuşlarına birlikte basmak gerekiyor. Bu işlemin ardından iş numarasını görüntüleyen bir mesaj ekrana gelir.

   $ at 10:03
   rm * .tmp
   job 691858980.a at Wed Dec 4 10:03:00 1991
   $ _


At komutuyla tanımlanan işlemler -l seçeneğiyle görüntülebilir.

   $ at -l
   job 698171400.a  Sat  Feb 15 11:30:00 1992
   job 691863540.a  Wed Dec  4 11.19.00 1991
   job 692334000.a  Mon Dec  9  22:00:00 1991
   $ _


Listede ilk sırada yer alan işlemi iptal etmek istiyoruz. Bu tür işlem için -r seçeneğine başvurmak gerekiyor.

   $ at -r 698171400.a
   $ _


İşlem iptal edilmiş oldu. Yeniden listeyi görüntüleyecek olursak,

   $ at -l
   job 691863540.a  Wed Dec  4 11.19.00 1991
   job 692334000.a  Mon Dec  9  22:00:00 1991
   $ _


birinci satırın silinmiş olduğu anlaşılır.