Crontab ile zaman Yonlendirmeli isleri calistirmak

From Lapis Wiki

(Zaman Yönlendirmeli İşleri Çalıştırmak sayfasından yönlendirildi)
Jump to: navigation, search
Bu makale NASIL bölümü serisinin bir parçasıdır
MasaÜstü Donanım Dağıtımlar
Tarayıcılar Programlama Linux ve Oyunlar

Konu başlıkları

Zaman Yönlendirmeli İşleri Çalıştırmak

Crontab Nedir?

Linux altında /etc/crontab dosyasına yapacağınız bir ayarlama ile bir dosyayı veya bir betiği belirli bir zamanda veya zaman dilimlerinde kolayca çalıştırabilirsiniz. Bunun için aman, kullanıcı ve komut tanımlarını bu dosya içine koymanız yeterli.

Örnek:

#  Dakika  Saat  Gün  Ay  Haftalık	Kullanıcı  Komut
    17     *     *    *    *     root      /Nerde/bu/komut/veya/skript

Seçenekler

  • Dakika
Burada dakikayı tanımlamanız yeterli (0 - 59 arasında).
  • Saat
Burada saat tanımlamanız gerekir (0 - 23 arasında).
  • Gün
Burada gün belirlemeniz gerekir.(0 - 31 arası).
  • Ay
Burada ay tanımlamanız gerekir (0 - 12 arası).
  • Haftalık
Burada haftanın günlerini tanımlayabilrisiniz. (0 - 7 arası, 0 ve 7 pazar gününe eşittir).
    • 0 = Pazar
    • 1 = Pazartesi
    • 2 = Salı
    • 3 = Çarşamba
    • 4 = Perşembe
    • 5 = Cuma
    • 6 = Cumartesi
    • 7 = Pazar
  • Kullanıcı
Burada kullanıcı tanımlanır. Çalıştırılan program/skript bu kullanıcı hakları ile çalışır.
  • Komut
Bu bölüme ise çalıştırılacak olan komutun ismini girmeniz gerekir . Eğer söz konusu olan bir betik ise, tam yolu ile tanımlamaya özen gösterin. Aksi takatirde çalışmayabilir.

Eğer bu bölümler (dakika, saat, gün, ay haftalık..) bir * şeklinde tanımlanırsa, bunun anlamı HER olarak yorumlarnır. Yani HER SAAT, HER GÜN, HER AY vb...Yani komut bu tanıma göre çalıştırılır.

Özel durumlar

  • Bazı durumlarda n OPTION olarak kullanabilirsiniz, yani */n şeklinde olabilir.

Örnek:

# dakika   saat  Gün     Ay    Haftalık   Kullanıcı         Komut
  */10      *     *       *       *        erkan         /kısayol/script.sh

Yukardaki örnekteki gibi, HER 10 dakikada /kısayol/script.sh erkan kullanıcı hakları ile skript çalıştırılır.

Biraz karmaşık bir örnek:

 # dakika   saat  Gün     Ay    Haftalık   Kullanıcı         Komut
      0    */2    3       11         *    root         /kısayol/script.sh

Bu örnekte, her dakika (yani 0. dakika, aynı zamanda 60 dakika), her 2 saate, ayın 3.11 de, haftalık fark etmez ve /kısayol/script.sh dosyası root hakları ile çalıştırılır.


Örnekler:

# Hergün saat 22:00 da /public ve alt dizinlerini sil 
0    22     *     *     *  pingu  rm -r /public/*

# Her cumartesi saat 22:00 de delpub programini calsitir
0    22     *     *     6   root  /root/bin/delpub

# Her 5 dakikada calistir....
*/5    *     *     *     *   root  <todo>
# Her 2 saate calistir
00   */2    *     *     *  root  /usr/local/bin/mail_poll