Crontab ile Tasarruf Edin

Crontab Nedir?

Crontab ile zamanlanmış görevleri otomatikleştirebilirsiniz. Aslında “cron table” kelimesinin kısaltmasıdır. Basitçe söylemek gerekirse, belirlediğiniz zamanlarda otomatik olarak çalışacak komutların veya script’lerin listesi bu araç ile yönetilir. Bu dosya, sizin belirlediğiniz görevleri içerir.

Her kullanıcının kendi crontab dosyası olabilir. Terminalde “crontab -e” komutunu yazarak kendi crontab dosyanızı oluşturabilir veya düzenleyebilirsiniz. Kendine özgü bir çalışma şekli var. İşlerinizi, dakikalara, saatlere, günlere, aylara ve/veya haftanın belirli günlerine göre planlayabilirsiniz.

Crontab Ne İçin Kullanılır?

Sistem yöneticileri ve/veya kullanıcılar çeşitli işler için crontab kullanabilir. Bu işlevsel özellik sayesinde, genellikle otomatik yedek alma, güncelleştirme, rapor oluşturma gibi işlemleri bir zamana bağlayabilirsiniz.

Görev Oluşturma

Örneğin, her gün gece saat 2:30’da bir yedekleme script’inin çalıştırılmasını istiyorsunuz. Bunun için “crontab -e” komutunu çalıştırın ve ardından aşağıdaki satırı ekleyin.

30Bu, komutun çalışacağı dakikadır (0 ile 59 arası). Yani saat 02:30.
2Bu, komutun çalışacağı saattir (0 ile 23 arası, 24 saatlik format). Yani 02:30.
***Bu üç yıldızın her biri, “her” anlamına gelir.
İlk *Ayın her günü.
İkinci *Her ay.
Üçüncü *Haftanın her günü.
/data/bh/scripts/backup_script.shYedekleme script’inizin tam yolunu belirtir.

Kullanım örnekleri için crontab.guru ‘yu inceleyebilirsiniz.

Kullanıcılara Göre Yetkilendirme

Kullanıcılar, ‘crontab -e‘ komutunu kullanarak kendi görevlerini düzenleyebilirler.

Bu işlem, kullanıcıların yalnızca kendi görevlerini yönetmelerine olanak tanır. Böylece, bir kullanıcının başka bir kullanıcının crontab dosyasına erişme hakkı yoktur. Bu, sistem güvenliği açısından önemli bir özelliktir, çünkü her kullanıcı yalnızca kendi sorumluluğundaki işlemleri görebilir ve düzenleyebilir.

Ayrıca, kullanıcıların yetkilerini kısıtlamak ya da genişletmek mümkündür. Bunun için /etc/cron.allow ve/veya /etc/cron.deny dosyalarını kullanmanız gerekiyor, varsayılan olarak bu dosyalar sistem de (genellikle) bulunmaz.

Farklı Bir Kullanıcının Crontab’ını Yönetme: Listeleme ve Düzenleme

Başka bir kullanıcının crontab dosyasını düzenleyebilirsiniz, ancak bunun için genellikle root yetkisine ihtiyacınız olacaktır. Bu dosyaların doğrudan düzenlenmesi, sistemin güvenliği ve bütünlüğü için kısıtlanmıştır. Bir kullanıcının crontab dosyasını değiştirmek demek, o kullanıcının adına sistemde belirli komutları çalıştırmak ve/veya o kullanıcı adına işlem yapmak anlamına gelir. Bu nedenle, bu tür hassas işlemleri yalnızca yetkili kullanıcılar (genellikle root) yapabilir.

Potansiyel olarak tehlikeli olabilecek görevlerin yalnızca yetkili kişilerin yönetiminde olması gerekir.

Listeleme

Aşağıdaki komut ile başka bir kullanıcının crontab’ını listeleyebiliriz. Bu işlem için de genellikle root yetkisi gerekir.

Düzenleme

Aşağıdaki komut ile başka bir kullanıcının crontab’ını düzenleyebilirsiniz. Bu işlem için de mutlaka root yetkisi gerekir.

Sorun Çözme

Log Dosyalarına Bakma

Crontab’ın çalışıp çalışmadığını anlamanın en iyi yolu log dosyalarına bakmaktır.

  • /var/log/syslog
  • /var/log/cron.log
  • /var/log/messages

Bu dosyalarda CRON kelimelerini arayarak cron işinizin yürütülüp yürütülmediğini veya herhangi bir hata verip vermediğini inceleyebilirsiniz. Örneğin, aşağıdaki komut ile anlık CRON akışını takip edebilirsiniz.

Crontab Servisinin Durumunu Kontrol Etme

Crontab servisinin çalışıp çalışmadığını kontrol etmek için aşağıdaki komutları kullanabilirsiniz.

Eğer çalışmıyorsa, aşağıdaki komut ile çalıştırabilirsiniz.

Sonuç

Yapılan bu işlem kullanıcıya zaman tasarrufu sağlar ve insan kaynaklı hataların olasılığını en aza indirir, böylece günlük iş akışının daha düzenli olması sağlanır.

Ödev

Faydalı olması dileğiyle 

Gelişmelerden haberdar olmak için bilgihouse.com ve sosyal medya kanallarımızı ziyaret etmeyi unutmayın.

Usta

Similar Posts

Bir yanıt yazın

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