Linux'ta Cron kullanarak periyodik görevleri zamanlama
cron
bir komutu veya komut dosyasını daha sonraki bir zamanda yürütülmek üzere programlamak için kullanılan bir Linux programıdır. Periyodik olarak çalışan komutları ve komut dosyalarını programlamak için de kullanılabilir. Cron kullanılarak programlanan programlara yaygın olarak şu ad verilir: Cron işleri. Ana kullanımı, düzenli yedeklemeler, düzenli yazılım güncellemeleri ve diğer benzer bakım görevleri gibi Sistem Yönetimi görevleri içindir.
Tanıtım
cron
Linux'ta bir arka plan programı olarak, yani bir arka plan işlemi olarak çalışır. Kullanıcıların, bir düzenleyicide Cron Dosyası adlı bir yapılandırma dosyasını açan crontab komutuyla işleri doğrudan zamanlamasına olanak tanır. Her kullanıcı için ayrı Cron Dosyaları oluşturulur.
Bir Cron Dosyası ve Temel Sözdizimi Oluşturma
bu crontab
komutu ile çalıştırılabilir -e
mevcut bir Cron Dosyasını düzenlemek için bayrak. Dosya zaten mevcut değilse, oluşturulacaktır. Kullanıcı komutu ilk kez çağırıyorsa ve Linux sisteminde kurulu birden fazla dosya düzenleyicisi varsa, komut kullanıcıdan düzenleyiciler listesinden varsayılan bir düzenleyici seçmesini isteyecektir.
Editörü seçtikten sonra kullanıcı için bir cron dosyası oluşturulacak ve açılacaktır. Artık dosyadaki işleri belirtebilirsiniz.
Bir Cron İşi belirtmek için genel sözdizimi şöyledir:
Temel olarak, belirtilen 'dakika' (0-59), 'saat'(0-23), 'ayın günü'(1-31), ay(1-12), haftanın günü, (0-7, Pazar için, Cron Job'da 0 veya 7 kullanılabilir). Basitleştirmek için bir örnek alalım:
1 2 3 4 5 yankı "Merhaba"
Bu komut anlamına gelir yankı "Merhaba"
haftanın her beşinci gününde (Cuma) ve her ayın 3'ünde, yılın her 4 ayında (Nisan), saat 02:01'de (2. saat birinci dakika) çalışacaktır.
Aynı komut her gün 02:01'de çalıştırılacaksa, sözdizimi şöyle görünecektir:
1 2 * * * yankı "Merhaba"
bu *
'her zaman' veya 'herkes için' anlamına gelir, ör. tüm aylar için, haftanın tüm günleri için vb.
komut operatörü (,
) görevin tekrarlanması gerektiğinde bir değerler listesi girmek için kullanılabilir. Örneğin:
0 2,3,4 * * * yankı "Merhaba"
Bu, programı her gün saat 2, 3 ve 4'te çalıştıracaktır.
Benzer şekilde, bir kısa çizgi (-
) Şebeke görevin tekrarlanacağı bir aralığı belirtmek için kullanılabilir. Örneğin:
0-20 2 * * * yankı "Merhaba"
Bu, programı 02:00, 02:01, 02:02 ve 02:20'ye kadar çalıştıracaktır.
Sonunda, elimizde eğik çizgi ( /
) Şebeke. Bu operatör, görevin tekrarlanacağı bir aralık değeri belirlemek için kullanılır. Örneğin. */15
Dakika alanında, görevin her 15 dakikada bir tekrarlanması gerektiği anlamına gelir. 2-10/2
saat alanında, görevin her 2 saatlik aralıktan sonra (02:00, 04:00, 06:00, 08:00, 10:00) 02:00 ile 10:00 arasında tekrarlanacağını belirtir.
*/15 2-10/2 * * * yankı "Merhaba"
Cron Dosyasına girişi yaptıktan sonra dosyayı kaydedin ve editörden çıkın.
bir görmelisin 'yeni crontab yükleme' crontab dosyasını kaydedip çıktıktan sonra terminalde mesaj.
makrolar
Belirli makrolar, her saat, her gün, her ay vb. gibi yaygın olarak gerekli olan bazı zaman aralıklarını belirten Cron'da önceden tanımlanmıştır.
Günün başlangıcında, yani 00:00'da her gün bir görevi çalıştırmak için makroyu kullanın @günlük
. Bu eşdeğerdir 0 0 * * *
.
Bunu, daha önce açıklandığı gibi Cron dosyasına koyabilirsiniz.
Benzer şekilde, diğer makrolar da kullanılabilir, yani. @saatlik
(Her saatin 0 dakikası), @aylık
(ayın ilk günü 00:00), @haftalık
(haftanın ilk günü 00:00, @yıllık
(her yıl Ocak ayının ilk günü 00:00), @yeniden başlat
(bilgisayarın her başlangıcında).
Çözüm
Bu yazıda, Linux'ta düzenli yürütme için Cron İşlerinin nasıl ekleneceğini öğrendik. Cron Jobs'un doğru kullanımı, kullanıcının karşılaştığı en can sıkıcı manuel görevler için bile kullanışlıdır, Ör. eski günlüklerin düzenli olarak silinmesi, her türlü soğuk verinin arşivlenmesi (nadiren erişilen veriler), vb.