crontab

Linux'ta Cron İşleri Nasıl Kurulur

Linux'ta Cron İşleri Nasıl Kurulur
Masaüstlerinde ve sunucularda tekrarlanan görevlerin otomatikleştirilmesi ve programlanması üretkenliği artırır ve manuel müdahale ve izlemeyi azaltır. Linux için bu tür çok sayıda araç mevcuttur ve bunlar arasında en yaygın olarak kullanılanlardan biri “cron”dur.

Bu makale, zamanlama görevlerini ve cron işlerini kullanarak düzenli aralıklarla komut dosyalarını çalıştırmayı açıklayacaktır.

Cron nedir??

Cron, bir süreç olarak arka planda çalışan bir görev zamanlama programıdır. Önceden tanımlanmış kurallar kümesi kullanılarak zamanlanmış belirli işleri periyodik olarak çalıştırmak için kullanılabilir. Cron, çoğu Linux dağıtımında önceden yüklenmiş olarak gelir veya manuel olarak kurulacak havuzlarda bulunur.

Cron Ön Ayarları

Ubuntu'daki Cron, bir dizi önceden tanımlanmış zamanlayıcı ile birlikte gelir. Aşağıdaki komutu çalıştırarak bunları kontrol edebilirsiniz:

$ ls /etc/cron.*

Genellikle bu klasörler “/etc/cron.saatlik”, “/etc/cron.günlük”, “/etc/cron.aylık” ve “/etc/cron.haftalık".

Otomatik görevleri saatlik, günlük, aylık veya haftalık olarak çalıştırmak için istediğiniz komut dosyalarını bu klasörlerden birine koymanız yeterlidir.

Cron'un varsayılan olarak “/bin/sh” kabuğunu kullandığını unutmayın. Eğer cron betiklerinde kabuk olarak “/bin/bash” kullanmak istiyorsanız “!# /bin/bash” hashbang betik dosyasının en üstünde veya Shell'i zamanlanmış bir bash betiğinde ilk satırda “SHELL=/bin/bash” değişkeni olarak tanımlayın. “SHELL” ortam değişkenini geçersiz kılmak, aşağıda açıklanan crontab düzenleyicisi için de çalışır.

Tüm sistem ortamı değişkenleri cron işlerine maruz kalmayabilir. Bu nedenle, cron tarafından programlanan bir komut dosyasında önemli ortam değişkenlerini manuel olarak tanımlamak genellikle iyi bir fikirdir.

crontab

Crontab, kendi zamanlanmış görevlerinizi tanımlamanıza olanak tanır. Yukarıda açıklanan dört standart cron ön ayarından farklı cron programlarını yapılandırmak için kullanabilirsiniz.

Crontab'da zamanlanmış bir görev ayarlamak için önce aşağıdaki komutu kullanarak crontab düzenleyicisini başlatın:

$ crontab -e

Şimdi dosyanın sonuna aşağıdaki biçimde bir giriş ekleyebilirsiniz:

dakika saat gün ay hafta içi /ful/path/to/script.ş

Nerede:

Aşağıdaki crontab girişi, masaüstünüzün ekran görüntüsünü alacak ve 2 Mart'ta saat 15:13'te ve Mart ayında her Salı saat 15:13'te bir kez ana dizininizde saklayacaktır.

13 15 2 3 2 skrot

Tüm crontab girişlerini listelemek için aşağıdaki komutu kullanın:

$ crontab -l

Daha fazla örnek

Cron görevleri en iyi örneklerle açıklanabilir, bu nedenle aşağıda periyodik olarak masaüstünüzün ekran görüntülerini alacak ve bunları ana klasörde saklayacak bazı örnekler verilmiştir.

Beş zamanlama değişkeninin yanı sıra cron, işleri zamanlamak için bazı özel dizeler de kullanır. Bu dizeler şunlardır:

Aşağıdaki crontab girişi, her yeniden başlatmada bir kez ekran görüntüsü alacaktır:

@reboot scrot

“@reboot” ifadesini yukarıda belirtilen diğer özel dizelerle değiştirebilirsiniz.

Beş değişkenden herhangi birinin yerine yıldız işareti veya joker karakter kullanılması, o değişkenin tüm yeni örneklerinde işi tekrarlayacaktır. Aşağıdaki giriş her dakika bir ekran görüntüsü alacaktır:

* * * * *  skrot

Her saat:

0 * * * *  skrot

Her gün saat 18:00'de:

0 18 * * * skrot

Her ayın 6'sında 18:00'de:

0 18 6 * * skrot

Bir komut dosyasını 30 dakikalık sabit periyodik aralıklarla çalıştırmak için “/” kullanın (her 30 dakikada bir çalışır):

*/30 * * * * skrot

Komut dosyasının düzenli aralıklarla tekrar çalıştırılmasını tanımlamak için virgülle ayrılmış değişkenler kullanabilirsiniz. Aşağıdaki örnek, yeni bir saatin her 1., 4. ve 5. dakikasında masaüstünüzün ekran görüntüsünü alacaktır.

1,4,5 * * * *  skrot

Crontab Girişlerini Doğrulama

Crontab girişlerini tanımlamak zor olabilir, ancak bunların hatalarını ayıklamak veya doğru zaman damgalarında çalışıp çalışmadıklarını doğrulamak daha da zordur. Bir seçenek, sanal bir makine kullanmak ve "date" komutu gibi bir şey ekleyerek ve çıktıyı bir metin dosyasına yeniden yönlendirerek bir cron işinde periyodik olarak çalışan bir komut dosyasının zaman damgalarını günlüğe kaydetmektir. Ancak, daha iyi bir çözüm, web'de bulunan sayısız çevrimiçi cron işi test hizmetlerinden birini kullanmaktır. Mevcut cron tester web sitesini vermenizi öneririm İşte bir deneme.

Sonuç

Cron işlerini çalıştırmak, özellikle sunucularda tekrarlanan görevleri otomatikleştirmenin mükemmel bir yoludur. Araç son derece güçlü ve özelleştirilebilir. Ancak, özellikle görev açısından kritik görevler varsa, zamanlayıcı tanımınızın doğru şekilde çalıştığından emin olmak önemlidir.

Linux Eğitimi için Tomb Raider'ın Gölgesi
Shadow of the Tomb Raider, Eidos Montreal tarafından yaratılan bir aksiyon-macera oyunu serisi olan Tomb Raider serisine eklenen on ikinci oyundur. Oy...
Linux'ta FPS Nasıl Arttırılır?
FPS'nin kısaltması Saniyedeki Kare Sayısı. FPS'nin görevi, video oynatma veya oyun performanslarındaki kare hızını ölçmektir. Basit bir deyişle, her s...
En İyi Oculus Uygulama Laboratuvarı Oyunları
Oculus başlık sahibiyseniz, yandan yükleme hakkında bilgi sahibi olmalısınız. Sideloading, kulaklığınıza mağaza dışı içerik yükleme işlemidir. SideQue...