Linux Unix

Linux Crontab

Cron, linux işletim sistemlerinde zamanlanmış görevleri belirli zaman aralıklarında arka planda çalıştıran bir uygulamadır. Crontab ise görevi ve görevi çalıştıracak kişinin bilgilerinin oluşturulduğu dosyadır.

 

Her kullanıcının kendi crontab dosyası bulunmaktadır. Çalışan corn job ların loglarında kullanıcı bilgilerini bulabilirsiniz. Kullanıcıların crontab oluşturma hakları vardır. Bunu engellemek için  /etc/cron.deny klasörüne kullanıcı adı yazarsanız crontab oluşturma hakkını kullanıcının elinden almış olursunuz ve karşısına  You (melih) are not allowed to use this program (crontab)  gibi bir hata dönecektir.

 

Sistem tarafından oluşturulan cron lar oluduğu için servis çalışır durumda gelmektedir. Servisi çalıştırmamıza gerek yoktur fakat kontrol edelim. Chkconfig le hangi levellerde çalıştığını görebilirsiniz. Servise baktığımızda crond çalışır durumdadır.

 

 

image001

 

 

Crontab dosyamız  /etc nin altında tutulmaktadır. Çıktısına baktığımız da bize örnek olması açısından güzel bir açıklama yapılmıştır.  “ #  “  başlayan alanlar açıklama alanlarıdır ve bu alanlarda işlem yapılmaz. Yaptığınız tanımlamaları unutmamak adına crontab dosyasına ekleyeceğiniz job lardan önce açıklama yazmak sonrasında işinizi kolaylaştırır.

 

 

image002

 

 

Sistem tarafından oluşturulan cron ları /etc nin altında bulabilirsiniz.

 

 

image003

 

 

crontab dosyasına birkaç örnek ekleyelim. Crontab’ı istediğiniz bir editörle açınız. Örnekte gösterildiği gibi yazmaya başlarken zaman bilgilerini öncelikli olarak ekliyoruz sonrasında hangi kullanıcı çalıştıracaksa kullanıcı adını ve yapmak istediğimiz işlemi yazıyoruz.

 

Altta gördüğünüz örnek de her bir dakikada root kullanıcı için top sistem bilgilerini  /melih.txt dosyasına yazmasını istemişiz.

 

 

image004

 

 

Melih.txt dosyasının çıktısına bakarsanız top la alınan bilgileri görebilirsiniz. Bunları mail de göndertebilirsiniz.

 

 

image005

 

 

Crontab dosyasını editörle açmadan çalışmamızı yapalım.

 

Crontab –e    à yeni oluşturmak için

Crontab –l     à var olan işleri listeler

Crontab –u     à kullanıcı bilgisi gireriz

Crontab –r     à var olan işleri silmek için kullanılır.

 

Yeni bir crontab oluşturuyorum   her bir dakikada uptime komutu çalışsın aynı şekilde melih.txt ye yazsın.

 

 

image006

 

 

İstediğiniz kullanıcı bilgisini girerek de çalışma yapabilirsiniz.

 

 

image007

 

 

Birden fazla işlem yapmak istiyorsanız bunların hepsini bir çalıştırılabilir dosyada gösterip bunu crontab dosyasına ekleyebilirsiniz. Melih.sh dosyasını oluşturdum  içine  önce kayıt ettireceğim dosyanın yerini sonrasında da melih adlı bilgisayara  2 kere ping komutunu yazdım. Son olarak dosyanın modunu değiştirerek çalıştırılabilir dosya iznini veriyorum.

 

 

image008

 

 

Olmasını bekledim işlem melih adlı bilgisayara  2 kere ping atacak ve bunları melih.txt dosyasına yazacak. Örnekleri çoğaltabilirsiniz ihtiyacınız doğrultusunda.

 

 

image009

 

 

Contab dosyasına yazdık yapmasını istediğimiz işlemleri. Bu işlemler arka planda yapıldığı için bunların kontrol etmek için  /var/log/cron dosyasının çıktısına bakınız.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu