Categories
tr

Linux’ta görevler nasıl planlanır CRONTAB DOSYALARINA GİRİŞ

Adım adım süreç ve CRON, CRONTAB ve yardımcı programları kullanarak Linux’daki görevleri planlama tekniğini öğrenin. Ayrıca planlanan görevleri nasıl göreceğinizi ve sonlandıracağınızı da öğreneceksiniz.

Konuyu anlamak

Tıpkı Windows işletim sisteminde görev zamanlayıcısı olduğu gibi, Linux’ta arka planda planlanan görevleri çalıştıran “Crond” ve “ATD” arka plan var.

İşlemleri planlamak, sistem kullanıcıları için, daha da önemlisi, sistem yöneticileri için, özellikle yedekleme, bakım, vb.

Linux’ta, planlama görevlerinden sorumlu iki temel hizmet “crond” ve “ATD” hizmetleridir.

Cron nedir

Cron, Linux’ta bir iş planlamak için kullanılan programdır, tıpkı yukarıda belirttiğimiz gibi, Cron’dan sorumlu arka plan “Crond” dır ve sistem açılır çalışmaz varsayılan olarak başlatılır

Bir yöneticinin planlanmış bir görevi yapılandırabilmesi ve çalıştırabilmesi için Cron Daemon (Crond) aktif ve çalıştırılmalıdır.

Crond arka planemonun durumunu doğrulamak için komutu kullanın,

Cron çok esnektir ve tekrar tekrar veya düzenli olarak yapılması gereken görevler için en iyisidir (tekrar eden işler).

CRON yapılandırma dosyası, biri “/etc/crontab” olan birçok yolda bulunabilir.

Diğer Cron yapılandırma dosyaları “/etc/cron. d”, “/etc/cron. daily”, “/etc/cron. deny”, “/etc/cron. hourly”, “/etc/cron. monmontly”,”/Etc/crontab “,”/etc/weekly “

Bu dizinlerin adlarının ima ettiği gibi, RPM paketleri ile günlük, haftalık, saatlik ve aylık kabuk komut dosyalarını/işlerini yürütürler ve bu paketler sadece bu dosyaları işlerini yürütmek için nasıl kullanacağını bilir.

CRON’u kullanıcı veya yönetici olarak kullanarak bir görev planlamak için, CRONTAB dosyalarınızı “/etc/cron. d” dizininde tanımlamanız veya Crontab düzenleyicisini başlatmak için “Cronta b-e” komutunu kullanmanız önerilir.

Bunun nedeni, “/etc/crontab” dosyasının bir güncelleme yapıldığında ve burada tanımladığınız CRON işlerinin üzerine yazılabilir. Bu nedenle, bir kullanıcının veya yöneticinin bir görevi planlamak için bu dosyayı değiştirmesi önerilmez.

Bir iş planlamak için “/etc/cron. d” dizini ve “cronta b-e” komutunu kullanmak zor değildir.“/Etc/cron. d” deki dosyalar/etc/crontab içindeki dosyalarla aynı biçimi izler.

Benzer şekilde, CRONTA B-E kullanılarak oluşturulacak dosyalar, /etc /crontab’da aynı biçimi izleyecektir, ancak kullanıcı adını devam ettiğimiz gibi nasıl yapacağımızı göreceğimiz dosyaya eklemeyeceksiniz.

“/Etc/cron. d” dizinindeki bir dosya örneği, aşağıda görüldüğü gibi 0hourly dosyasıdır.

Bir yönetici ayrıca /etc/cron. daily, /etc/cron. montly, /etc/cron. weekly gibi diğer Cron yapılandırma dosyası konumunda dosya oluşturarak bir iş planlayabilir. Ancak bu aynı şeyi takip etmez./etc/cron. d veya cronta b-e komutunu kullanma olarak biçimlendirin.

Bu konumdaki biçim, bir kullanıcının bir komut dosyası oluşturmasını gerektirir. Bu konumdaki bir cron iş örneği /etc/cron. daily/logrotate dosyasıdır.

/Etc/cron. daily, /etc/cron. weekly ve /etc/cron. hourly bir iş planlamak için, sistemin yedeklemek için anacron (/etc/anacrontab) adı verilen bir tür matematiksel teknik kullanmasıdır. Bu dizinlerdeki dosyalar.

Bu nedenle, sistemin herhangi bir biçimde kullanılamaması nedeniyle bir iş çalışmadıysa, sistem mevcut olduğunda iş çalışır, çünkü sistem Anacron dosyasına bakar ve işlerin çalıştırılması için dosyadaki yapılandırmayı kullanır.

Linux’ta crontab nedir

Crontab “Cron Table” ın kısaltmasıdır. Cron Daemon’un kullanımı ile Cron işini çalıştıracak senaryolar veya komuttur.“-E” seçeneğiyle CRONTAB komutu, komut dosyalarınızı bir cron işi için tanımlayabileceğiniz Crontab editörünü başlatacak

Bir CRON işi çalıştırmak için “Cronta b-e” komutunu kullanmak için, kullanıcıyı doğru izinlere yer vermek için kullanıcı olarak çalıştırmak veya kullanıcı olarak giriş yapmak isteyen kullanıcıya geçmeniz tavsiye edilir.

Örneğin, CRONTAB düzenleyicisini başlatmak için “Cronta b-E” komutunu kullanmadan önce kullanıcı, Victor, Switch kullanıcısı veya Victor olarak giriş yapın. Kullanıcı için mevcut bir crontab yoksa, elbette yeni bir crontab oluşturulacaktır.

Cron kullanarak Linux’ta bir görev nasıl planlanır

“/Etc/crontab” dosyasından, Cron Job Tanımı örneklerini göreceksiniz

İş tanımının örneklerini görebilirsiniz, bu örnekler AS ile karşılaştırılabilir.

Ne anlama geliyor?

Soldan sağa,

Birincisi * dakikaları temsil eder (0-59 dakikadan itibaren)

İkinci * saatleri temsil eder (form 0-23 saat)

Üçüncü * ayın günlerini temsil eder (1-31 günden)

Dördüncü * ayları temsil eder (form 1-12 ay) veya aynı zamanda Ocak, Şubat, Mar, vb. Olabilir (yani ayın ilk üç harfini)

Beşinci *, haftanın günlerini temsil eder (0-6 gün arası). Pazar 0 veya 7’dir. Ayrıca güneş, pazartesi, sal vb. olabilir (yani haftanın ilk üç harfi)

* joker karakteri “her” anlamına gelir, bu nedenle, örneğin, yukarıdaki komut dosyası basitçe şu anlama gelir:

(“her dakika, her saat, ayın her günü, her ay, haftanın her günü” yürütün. Komut dosyasının özeti “her dakika yürüt”)

Yukarıdaki cron işini kullanarak sistemimizde yer alan sistem logu “/var/log/messages” dosyasına bazı bilgileri loglayalım.

1. komutu çalıştırarak crontab editörünü başlatın

2. işin çalışıp çalışmadığını görmek için /var/log/messages dosyasını doğrulayın

Artık işin dakikada bir çalıştığını görebilirsiniz.

Başka bir örnek verelim.

Her Perşembe saat 2’ye kadar yürütülecek bir iş planlayacaksak, komut dosyası şu şekilde yazılacaktır:

Bu, işi her ayın her gününde, her 0 dakikada bir, 2 saatte bir (02:00), Perşembe günleri yürütmek anlamına gelir.

Başka bir örnek verelim,

Pazartesiden Cumaya kadar her sabah 3’te yürütülecek bir iş planlayacaksak, komut dosyası şu şekilde yazılacaktır:

Bu basitçe, bu işi pazartesiden cumaya her ayın her gününün 2 saatinin (03:00) her o dakikasında yürütmeniz anlamına gelir.

Cron’u kullanmak çok esnektir ve bazı belirli kelimeler tarafından da kullanılabilir, örneğin

Bu belirli kelimeler kullanılırken diğer sütunlar boş bırakılmalıdır.

Örneğin, günlük olarak bir komut dosyası çalıştırmak için komut dosyalarını kullanın.

RHCSA 8 Linux’ta Görevleri Zamanlama Üzerine Sınav Uygulama Sorusu

Geri bildiriminiz memnuniyetle karşılanmaktadır. Başkalarını seversen, başkalarıyla paylaşırsın

30 Nisan 2022’de güncellendi

crontab nedir?

Cron, adını Yunanca zaman anlamına gelen “Chronos” kelimesinden almıştır. Belirli bir programa göre görevleri otomatik olarak gerçekleştirecek bir sistem sürecidir. Düzenli zamanlama görevlerini çalıştırmak için kullanılan bir dizi komuttur. Crontab, “cron tablosu” anlamına gelir. Görevleri yürütmek için cron olarak bilinen iş zamanlayıcının kullanılmasına izin verir.

Crontab aynı zamanda programı düzenlemek için kullanılan programın adıdır. Kabuk komutlarının belirli bir zamanlama için periyodik olarak çalıştırılacağını gösteren bir yapılandırma dosyası olan bir crontab dosyası tarafından yürütülür.

Bu İşletim sistemi eğitiminde şunları öğreneceksiniz:

Cronjobs’u neden kullanmalıyım?

Linux’ta Cronjobs kullanmanın nedenleri şunlardır:

  • İşletim sisteminin günlük dosyalarının veya veritabanının zamanlanmış bir yedeğini almasına yardımcı olur.
  • Eski günlük dosyalarını silin
  • Veritabanı tablolarını arşivleme ve temizleme
  • Bültenler, Parola süre sonu e-postası gibi herhangi bir bildirim e-postası gönderin
  • Önbelleğe alınan verilerin düzenli olarak temizlenmesi
  • Crontab, Unix işlerini otomatikleştirmek için ideal bir seçenektir.
  • Sistem bakımını otomatikleştirmek için kullanılır

Linux’ta Cron nasıl kullanılır?

Linux System Pack, Crontab adında yararlı bir görev zamanlayıcısına sahiptir. CRONTAB popülerdir, çünkü otomatik bir işlemi kök olarak çalıştırması planlanabilir. Bu nedenle, kök olarak çalışan otomatik bir işlemin olması sistem değişir. Sadece görevi değiştirmeniz ve sonra görevin yeniden başlatılmasını beklemeniz gerekir.

Linux Crontab formatı

Linux Crontab’ın altı alanı vardır. İlk beş alan yürütme saatini ve tarihini tanımlar ve 6. alan komut yürütme için kullanılır.

  • Astrics (*): Eşleştirme için kullanın
  • Tanımlama Aralığı: 1-10 veya 30-40 veya Jan-Mar, Pzt-Wed gibi tirenin yardımıyla bir aralığı tanımlamanızı sağlar.
  • Birden çok aralık tanımlayın: Nis-Jun, OCT-DEC gibi ayrılmış komutla çeşitli aralıkları tanımlamanızı sağlar.

Crontab nasıl eklenir/değiştirilir

Kullanıcı, aşağıdaki crontab komutu yardımıyla crontab işlerini düzenleyebilir:

Yukarıdaki komut, varsayılan metin düzenleyiciniz kullanılarak düzenlenebilen bilgisayar sisteminizin kişisel crontab yapılandırmasını açacaktır.

Aşağıdaki komutu kullandığınızda değişikliklerinizi otomatik olarak alacağından, krontabınızı yeniden başlatmanıza gerek yoktur.

CRONTAB görevlerinizi kaldırmak için aşağıdaki komutu kullanın.

İşi CRONTAB’a eklemek veya güncellemek için aşağıda verilen komutu kullanın.

Diğer kullanıcının crontabını düzenleme komutu

Crontab nasıl listelenir

Mevcut kullanıcının crontab girişlerini görüntüleme komutu

Belirli bir kullanıcının crontab girişlerini görüntüleme komutu:

Önemli CRONTAB örnekleri

Burada, crontab’ın bazı önemli örnekleri

Linux crontab dosyası (/etc/crontab) belirli bir formatta tanımlanır. Her satır boş olabilir, bir yorum ( #ile başlar), bir değişken veya bir komut olabilir. Linux Crontab (/etc/crontab) dosyasındaki boş satırlar ve yorumlar yok sayılır.

Cron, “Crontabs” adlı bir dizi dosya tarafından kontrol edilir. Ana (sistem çapında) dosyası /etc /crontab. Kullanıcılar için CRONTAB dosyaları/var/makar/cron/içinde bulunur./Var/süntü/cron, dosyalara bir kullanıcının giriş kimliği ile aynı ad verilir.

CRONTAB dosyası, /etc /crontab, normal dönemlerde birkaç alt dizindeki (aşağıda gösterilen CRONTAB dosyasında belirtildiği gibi) öğeleri otomatik olarak yürütür.

Tipik bir ana crontab (/etc/crontab) dosyası aşağıda listelenmiştir.

]# cat/etc/crontab kabuğu =/bin/bash yolu =/sbin:/bin:/usr/sbin:/usr/bin mailto = root home =/

# Run-Parts 01 * * * * kök çalışma-parçaları /etc/cron. hourly 02 4 * * * root run-parts /etc/cron. daily 22 4 * * 0 root run-parts /etc/cron. weekly 424 1 * * Kök Çalışma-Partları /etc/cron. monthly

İlk dört satır, CRON görevlerinin yürütüldüğü ortamı yapılandırmak için kullanılan değişkenlerdir. Kabuk değişkeninin değeri sistemi hangi kabuk ortamının kullanacağını (bu örnekte BASH kabuğu) söyler ve yol değişkeni komutları yürütmek için kullanılan yolu tanımlar. CRON görevlerinin çıktısı, Mailto To Değişkeni ile tanımlanan kullanıcı adına e-postayla gönderilir. Mailto değişkeni boş bir dize (mailto = ””) olarak tanımlanırsa, e-posta gönderilmez. Ev değişkeni, komutları veya komut dosyalarını yürütürken kullanılacak ana dizinini ayarlamak için kullanılabilir.

30 Nisan 2022’de güncellendi

crontab nedir?

Cron, adını Yunanca zaman anlamına gelen “Chronos” kelimesinden almıştır. Belirli bir programa göre görevleri otomatik olarak gerçekleştirecek bir sistem sürecidir. Düzenli zamanlama görevlerini çalıştırmak için kullanılan bir dizi komuttur. Crontab, “cron tablosu” anlamına gelir. Görevleri yürütmek için cron olarak bilinen iş zamanlayıcının kullanılmasına izin verir.

Crontab aynı zamanda programı düzenlemek için kullanılan programın adıdır. Kabuk komutlarının belirli bir zamanlama için periyodik olarak çalıştırılacağını gösteren bir yapılandırma dosyası olan bir crontab dosyası tarafından yürütülür.

Bu İşletim sistemi eğitiminde şunları öğreneceksiniz:

Cronjobs’u neden kullanmalıyım?

Linux’ta Cronjobs kullanmanın nedenleri şunlardır:

  • İşletim sisteminin günlük dosyalarının veya veritabanının zamanlanmış bir yedeğini almasına yardımcı olur.
  • Eski günlük dosyalarını silin
  • Veritabanı tablolarını arşivleme ve temizleme
  • Bültenler, Parola süre sonu e-postası gibi herhangi bir bildirim e-postası gönderin
  • Önbelleğe alınan verilerin düzenli olarak temizlenmesi
  • Crontab, Unix işlerini otomatikleştirmek için ideal bir seçenektir.
  • Sistem bakımını otomatikleştirmek için kullanılır

Linux’ta Cron nasıl kullanılır?

Linux System Pack, Crontab adında yararlı bir görev zamanlayıcısına sahiptir. CRONTAB popülerdir, çünkü otomatik bir işlemi kök olarak çalıştırması planlanabilir. Bu nedenle, kök olarak çalışan otomatik bir işlemin olması sistem değişir. Sadece görevi değiştirmeniz ve sonra görevin yeniden başlatılmasını beklemeniz gerekir.

Linux Crontab formatı

Linux Crontab’ın altı alanı vardır. İlk beş alan yürütme saatini ve tarihini tanımlar ve 6. alan komut yürütme için kullanılır.

  • Astrics (*): Eşleştirme için kullanın
  • Tanımlama Aralığı: 1-10 veya 30-40 veya Jan-Mar, Pzt-Wed gibi tirenin yardımıyla bir aralığı tanımlamanızı sağlar.
  • Birden çok aralık tanımlayın: Nis-Jun, OCT-DEC gibi ayrılmış komutla çeşitli aralıkları tanımlamanızı sağlar.

Crontab nasıl eklenir/değiştirilir

Kullanıcı, aşağıdaki crontab komutu yardımıyla crontab işlerini düzenleyebilir:

Yukarıdaki komut, varsayılan metin düzenleyiciniz kullanılarak düzenlenebilen bilgisayar sisteminizin kişisel crontab yapılandırmasını açacaktır.

Aşağıdaki komutu kullandığınızda değişikliklerinizi otomatik olarak alacağından, krontabınızı yeniden başlatmanıza gerek yoktur.

CRONTAB görevlerinizi kaldırmak için aşağıdaki komutu kullanın.

İşi CRONTAB’a eklemek veya güncellemek için aşağıda verilen komutu kullanın.

Diğer kullanıcının crontabını düzenleme komutu

Crontab nasıl listelenir

Mevcut kullanıcının crontab girişlerini görüntüleme komutu

Belirli bir kullanıcının crontab girişlerini görüntüleme komutu:

Önemli CRONTAB örnekleri

Burada, crontab’ın bazı önemli örnekleri

Farkında olmayabilirsiniz ama Linux işletim sisteminin arka planında bir sihir vardır. Sizin yardımınız veya müdahaleniz olmadan programlar başlar ve arka plan programları çalışır. Bunlar, Linux’un cron olarak bilinen olağanüstü bir zamanlama sistemine sahip olmasından kaynaklanmaktadır. Biraz sihir yapmak ister misin? Cron’u tanıyalım.

Cron yardımcı programı, kullanıcının zamanlanmış görevleri komut satırından yönetmesine olanak tanır. Bir kullanıcı cron’un nasıl çalıştığını anladığında, kullanımı zor değildir. Ancak bazıları için anlamak zor olabilir. Kullanıcılar, Linux’un bir sistemdeki zamanı nasıl yorumladığını ve okuduğunu anlamalıdır. Kullanıcıların ayrıca crontab dosyalarını nasıl düzenleyeceğini bilmeleri gerekir. Bir kullanıcı bu kavramları tam olarak anladığında, cron’un ustaları olacaktır. Gelin cron’u ve bir kullanıcının crontab dosyasında uygun girdilerin nasıl oluşturulacağını inceleyelim.

Varsayılan olarak, Linux sisteminde zaten bir cron sürümü (birden fazla uygulama vardır) kurulu olacaktır, bu nedenle aracı yükleme konusunda endişelenmenize gerek yoktur. Kullanımına gelince, cron ile ilişkili iki komut vardır:

  • cron: Zamanlanmış komutları yürütmek için kullanılan arka plan programı.
  • crontab: Bir kullanıcının cron işlerini yönetmek için düzenleyiciyi çağırmak için kullanılan komut.

Bir kullanıcının crontab dosyası, cron tarafından okunan işleri tutan dosyadır. Bir sistemdeki her kullanıcı, işlerin ve görevlerin kontrol edilebildiği bir crontab dosyasına (buna kök kullanıcı da dahildir) sahip olabilir. Sistemin kendisi de /etc/crontab konumunda bulunan bir crontab dosyasına sahiptir, ancak kullanıcı tarafından düzenlenmemelidir. Bu dosya, işletim sisteminin yüklenmesi üzerine oluşturulur./etc/crontab dosyası incelenirse, aslında /etc/cron. daily , /etc/cron. weekly ve /etc/cron. monthly içinde bulunan cron işlerini kontrol ettiği ortaya çıkar. Ancak bu dosya burada odak olmayacak. Bunun yerine kullanıcı crontab dosyası, sıradan kullanıcı görevlerinin zamanlanması için kullanılan dosya olduğu için birincil odak olacaktır.

CRON’un çoğu kullanıcıyı yönlendiren tek yönü, zamanın nasıl kullanıldığıdır. Her crontab girişi için, girişin ne zaman çalışacağı için belirli bir süre bildirilir. Zaman girişi formda:

Her seferinde giriş beş bölümden oluşur:

  • Dakika (0-59)
  • Saat (0-23 ile 0 saat 12:00)
  • Ayın Günü (1-31)
  • Ay (1-12)
  • Haftanın Günü (0-6, 0 Pazar)

Yani tipik bir giriş şöyle görünür:

M inute h bizim d ayfweek

Zaman için bazı örnekler:

0 23 * * * Günlük 23: 00’de

30 22 * * * Günlük saat 22: 30’da

0 23 1 * * Ayın ilk gününde saat 23: 00’de

0 23 * * 0 her Pazar 23: 00’de

CRONTAB yardımcı programını kullanmak

Şimdi o zaman anlaşılıyor, giriş eklemeye başlama zamanı. Bir kullanıcının crontab dosyasını görüntülemek için CRONTAB komutu çağrılır. CRONTAB komutuyla kullanılacak üç ana seçenek vardır:

  • E: CRONTAB dosyasını düzenleyin.
  • L: CRONTAB dosyasının içeriğini listeleyin.
  • R: CRONTAB dosyasının içeriğini kaldırın.

CRONTA B-L komutu çağrıldığında, kullanıcıların crontab dosyası için girişler görüntülenir (varsa). Bir kullanıcının crontab dosyasına bir giriş eklemek için CRONTA B-E komutu çağrılır, böylece CRONTAB dosyası varsayılan düzenleyicide (ED, Vim. Tiny veya Nano gibi) açılır. CRONTA B-E komutu ilk kez çalıştırıldığında, varsayılan düzenleyici ayarlanır. CRONTAB için varsayılan düzenleyiciyi seçmek için, istenen editöre karşılık gelen numarayı seçin.

Şekil 1, LuckyBackup Yedekleme uygulaması tarafından oluşturulan bir CRONTAB girişini göstermektedir.

Varsayılan editör olarak Nano ile LuckyBackup girişini gösteren bir crontab açık.

CRONTAB’a nasıl yeni bir giriş ekleneceğini göstermek için basit bir yedekleme komut dosyası kullanılacaktır. Bu komut dosyasının içeriği:

#! /bin/bash echo Backup Started `date` >>

/backuplog mkdir /media/EXT_DRIVE/backups/`date +%Y%m%d` tar – czf /media/EXT_DRIVE/backups/`date +%Y%m%d`/data. tar. gz /data echo Backup Completed `date` >>

Burada ext_drive, yedekleme verilerinin bulunacağı harici olarak ekli bir sürücünün yeridir.

Yukarıdaki komut dosyası, kullanıcıların ana dizinine . my_backup. sh olarak kaydedilecek ve CHMOD U+X komutuyla yürütülebilir izin verilecektir.

/. my_backup. sh. Şimdi, düzenleme modunda crontab ile, komut dosyasını her gece saat 23: 00’de yürütecek bir giriş oluşturun, aşağıdaki satırı ekleyin:

Bu giriş yapıldığında, düzenleyiciyi kaydedin ve kapatın (bunun nasıl yapıldığı, seçtiğiniz varsayılan düzenleyiciye bağlı olacaktır). Bu yapıldığında, hata olmadığı sürece, Crontab, girişin başarılı olduğunu belirtmek için “Crontab: Yeni Crontab’ın yüklenmesi” ni bildirecektir. Hatalar varsa, gerekli değişiklikleri yapmak için CRONTAB dosyasını yedekleyin.

Farklı bir kullanıcının crontabını düzenleme

Diyelim ki farklı bir kullanıcının crontab düzenlenmelidir. CRONTAB’ın bu amaç için yerleşik bir seçeneği olduğu için bu farklı kullanıcıya SU gerekli değildir. CRONTAB, – U Like Cronta b-e – u kullanıcı adı kullanılarak yayınlanırsa, belirtilen kullanıcının CRONTAB dosyası (söz konusu kullanıcı olduğu yerde) düzenleme için açılır. Bununla birlikte, bu komut yalnızca yönetim kullanıcısı olan bir kullanıcı tarafından verilebilir (veya komut Sudo kullanılarak yayınlanabilir.) Elbette, diğer kullanıcıların crontab dosyalarını düzenlemek yalnızca yöneticilerle sınırlı olmalıdır.

Son düşünceler

CRON sistemi, Linux’u en esnek işletim sistemlerinden biri haline getirmeye yardımcı olur. Cron, sistemin sadece günlüklerini döndürüp temiz tutmasına yardımcı olmakla kalmaz, aynı zamanda kullanıcıların kendi görevlerini, komut dosyalarını ve işlerini planlamasına izin verir. Cron’un zaman yönü kavramak biraz zor olsa da, anlaşıldıktan sonra, geri kalanı yerine oturur.

Komut satırından cron girişlerini düzenleme fikri biraz fazla görünüyorsa, bu görev için GUI araçları olduğunu bilmekten memnuniyet duyarsınız. CRON görevlerinizi kullanıcı dostu bir GUI yardımıyla yönetebilen bir uygulama için GNOME programı (Ekle/Kaldır Yazılım aracınızda bulunur) gibi bir araca bir göz atın. Ancak Linux’u gerçekten anlamak isteyenler için Cron ve Crontab’ı tanımak çok önemlidir.

Linux durumunda, iki temel ama güçlü araçla birlikte gelir: Cron Daemon (Varsayılan Görev Zamanlayıcısı) ve AT (bir kerelik görev planlaması için daha uygun).

Bu kılavuzda, Linux’ta bir görevin nasıl planlanacağına bakın.

Linux’taki görevleri planlayın

Cron the Cron Daemon, belirli zamanlarda çok fazla iş yürütmekten sorumludur. Bu görevler genellikle planlanan zamanlarda arka planda çalıştırılır. Aralıktan bağımsız olarak (saat, hafta, ay, yıl veya her neyse) görevden bağımsız olarak büyük bir esneklik sunar.

Cron, Crontab dosyasını kullanarak eylemlerini takip eder. CRONTAB dosyası, tüm Cron işlerini çalıştırmak için gerekli tüm bilgileri içeren bir komut dosyasıdır.

Cron’un temel kullanımından bazılarına hızlıca bakalım. Aşağıdaki komutlardan herhangi biri olması durumunda, sudo ayrıcalığı ile çalıştırılırsa kök kullanıcı için yapılandırılır. Gösteri için buradan bir örnek crontab dosyası aldım.

Mevcut kullanıcı için planlanan tüm CRON işlerini listelemek için aşağıdaki komutu çalıştırın. Crontab dosyasının tüm içeriğini yazdırır.

Farklı bir kullanıcı için Cron iş listesini ister misiniz? Bunun yerine bu komutu çalıştırın.

Crontab betiğini düzenlemek için komutu çalıştırın. Crontab dosyasını root için düzenlemek için aşağıdaki komutu sudo ayrıcalığı ile çalıştırın.

Crontab komut dosyasındaki her satır bir görevi tanımlar. İşte crontab girişlerinin hızlı bir dökümü.

İşte tüm bu alanlar için tüm olası değerlerin bir listesi. Sayısal bir değer yerine yıldız işareti (*) kullanılırsa, alanın olası tüm değerleri kullanılacaktır.

  • dakika: 0 – 59
  • saat: 0 – 23
  • ayın günü: 1 – 31
  • ay: 1 – 12
  • haftanın günü: 0 (Pazar) – 6 (Cumartesi)

Görevleri otomatikleştirmek için crontab’ın nasıl kullanılacağına ilişkin ayrıntılı bir kılavuz için Linux’ta cron işlerinin nasıl kurulacağına bakın. İşte her dakika çalışan bir cron işinin başka bir hızlı örneği.

at cron, görev planlamasının birincil yolu olsa da at, belirli bir zamanda veya sabit bir aralıkta bir komutu/komut dosyasını çalıştırma yeteneği sunar, at’nin hedef işi bir kez çalıştıracağını, oysa cron’un işi yeniden çalıştıracağını unutmayın. aralık. at aracı, cron’a kıyasla daha az popülerdir, ancak kullanımı nispeten daha kolaydır. Gece yarısı veya çay saati (16:00) gibi belirli anahtar kelimeler kullanabilirsiniz.

Bu araç, Linux dağıtımlarının çoğunda önceden yüklenmiş olarak gelmez. Yüklemek için dağıtımınıza göre uygun komutu çalıştırın.

Debian/Ubuntu ve türevleri için.

CentOS/RHEL ve türevleri için.

İşlerin düzenli ve öngörülebilir bir programa göre gerçekleşmesi bilgisayarlarda önemlidir. Bu önemlidir çünkü insanlar olarak bazen dikkatimiz dağıldığı, aklımızda çok fazla şey olduğu veya tatilde olduğumuz için işleri güvenilir bir şekilde yapmayı hatırlamakta kötü olabiliriz. Bilgisayarlar işleri bir programa göre yapmakta gerçekten iyidir, ancak bilgisayar harekete geçmeden önce bir insanın bilgisayarı programlaması gerekir.

Bir bakıma, cron sistemi programlamaya kolay ve ilkel bir giriştir. Yalnızca bir dosyayı düzenleyerek bilgisayarınızın yapmasını istediğiniz şeyi yapmasını sağlayabilirsiniz. Dosyanın nerede tutulduğunu bilmek zorunda bile değilsiniz. Basit bir komut yazmanız, bilgisayarınızın izlemesini istediğiniz “tarifi” girmeniz ve çalışmanızı kaydetmeniz yeterlidir. O andan itibaren, bilgisayarınız, durması söylenene kadar belirtilen zamanda talimatlarınızı yürütür.

Tasarım gereği, cron karmaşık bir sistem değildir. İşte bu konuda bilmeniz gerekenler.

Daha fazla Linux kaynağı

  • Linux komutları hile sayfası
  • Gelişmiş Linux komutları kısa bilgi sayfası
  • Ücretsiz çevrimiçi kurs: RHEL Teknik Genel Bakış
  • Linux ağ oluşturma hile sayfası
  • SELinux hile sayfası
  • Linux ortak komutları hile sayfası
  • Linux kapsayıcıları nelerdir?
  • En son Linux makalelerimiz

Cron nedir?

Cron komutu Linux ve Unix’te o kadar yaygındır ve o kadar sık takılıyor ve yeniden keşfedildi ki, bir programda gerçekleşen bir şey için neredeyse genel bir terim. Bu bir otomasyon biçimidir ve bunun farklı uygulamaları olmasına rağmen (Dillon’un Cron, Vixie’nin Cron, Chrony ve diğerleri) ve Anacron ve SystemD zamanlayıcılar gibi varyasyonlar, sözdizimi ve iş akışı onlarca yıldır aynı kalmıştır.

Cron, yazıcılar ve e-posta gibi bir “makara” sisteminde çalışır. Yazıcıların ve e-postanın bir makara kullandığını bilmiyorsanız, sorun değil çünkü bir makara dosyasının amacı çok fazla düşünmeniz gerekmiyor. Bir Linux sisteminde, Dizin /VAR /Makara, kullanıcının doğrudan etkileşime girmesi gerekmediği önemli ancak düşük seviyeli dosyalar için merkezi bir merkez olarak tasarlanmıştır./Var /makarada yönetilen makaralardan biri kısaca CRON masaları veya “crontab” dır. Bir Linux sisteminde her kullanıcının – kendiniz dahil – bir crontab vardır. Kullanıcılar kendi crontablarını düzenleyebilir, görüntüleyebilir ve kaldırabilir. Buna ek olarak, kullanıcılar görevleri planlamak için crontab’larını kullanabilirler. Cron sisteminin kendisi crontabları izler ve bir crontab’da listelenen herhangi bir işin belirtilen zamanda yürütülmesini sağlar.

Cron ayarlarını düzenle

CRONTAB’ınız ı-E (Düzenleme için) seçeneğiyle birlikte CRONTAB komutunu kullanarak düzenleyebilirsiniz. Varsayılan olarak, çoğu sistem VIM metin düzenleyicisini çağırır. Eğer benim gibi VIM kullanmayın, o zaman kendiniz için farklı bir editör ayarlayabilirsiniz.

/. bashrc dosyası. Benimkini Emacs’a ayarladım, ancak Nano, Kate veya en sevdiğiniz editörün ne olursa olsun deneyebilirsiniz. Editör Çevre Değişkeni, terminalinizde hangi metin düzenleyicisini kullandığınızı tanımlarken, görsel değişken grafik modda hangi editörü kullandığınızı tanımlar:

Kabuk oturumunuzu yeni ayarlarınızla yenileyin:

Artık CRONTAB’ınızı tercih ettiğiniz düzenleyici ile düzenleyebilirsiniz:

Bir görev planlayın

Cron sistemi aslında bir takvim sistemidir. Cron’a beş farklı özellik kullanarak bir işin ne sıklıkta çalışmasını istediğinizi söyleyebilirsiniz: dakika, saat, tarih, ay, hafta içi. Bu özelliklerin sırası katıdır ve mutlaka sezgisel değildir, ancak bunları filtre veya maskeler olarak düşünebilirsiniz. Varsayılan olarak, her zaman veya her şeyin ayarlandığını düşünebilirsiniz. Bu giriş, tüm yıl boyunca her günün her saatinde her dakikanın en üstünde Touch /TMP /Merhaba çalıştırır:

Her öznitelik için belirli tanımlar ayarlayarak bu her şeyi kapsayan programı kısıtlayabilirsiniz. İşin her saatin yarım saatlik işaretinde çalışmasını sağlamak için dakikaları 30’a ayarlayın:

Bu talimatı belirli bir saatle daha da kısıtlayabilirsiniz. Bu iş her sabah saat 3: 30’da devam ediyor:

Ayrıca işi yalnızca her ayın ilkinde çalıştırabilirsiniz:

Aralık ayında 12 Ocak ayına kadar 1’i kullanarak bir ay ayarlayabilirsiniz ve Cumartesi için 6’ya kadar Pazar için 0’ı kullanarak bir gün ayarlayabilirsiniz. Bu iş Nisan ayı boyunca 3: 15’te, sadece Pazartesi günleri:

Artışları ayarlayın

Tüm bu ayarlar tam olarak bir değerle eşleşir. Ayrılmış bir zaman geçtikten sonra işleri çalıştırmak için CRON gösterimini de kullanabilirsiniz. Örneğin, her 15 dakikada bir iş çıkarabilirsiniz:

Her üç günde bir saat 10’da bir iş çıkarabilirsiniz:

Her altı saatte bir iş çıkarabilirsiniz:

Cron Shorthand

Modern CRON uygulamaları, ortak programlar için uygun bir stenografi eklemiştir. Bunlar:

  • @saatlik
  • @günlük
  • @haftalık
  • @aylık
  • @Yearly veya @Annally

Liste Cron Jobs

CRONTAB komutunu kullanarak, planlanan Cron işlerinizin bir listesini görebilirsiniz:

Bir krontabı kaldır

Bir crontab ile işiniz bittiğinde, – r seçeneğiyle kaldırabilirsiniz:

-İ seçeneği etkileşimli anlamına gelir. Dosyayı silmeden önce sizi onaylamayı ister.

Cron ne yapabilir

Nasıl kullanılacağını bilmek bir şeycron, ama ne için kullanılacağını bilmek başka bir şey. Klasik kullanım durumu iyi bir yedekleme planıdır. Bilgisayarınız günün çoğu veya bütün gün ve tüm gece için açıksa, önemli bir bölümün rutin bir yedeklemesini planlayabilirsiniz. Birincil veri bölümümde RDIFF-Backup adlı bir yedekleme uygulaması her gün sabah 3’te:

Başka bir yaygın kullanım sistem bakımıdır. Slackware masaüstümde, her Cuma öğleden sonra yerel depo kataloğumu güncelliyorum:

İndirme klasörümü düzenlemek için her üç günde bir 15: 00’de Ansible bir senaryo çalıştırabilirim:

Bilgi işlem ortamınızın sağlığına biraz yatırım uzun bir yol kat ediyor. Çıkarma komut dosyaları, dosya boyutu ve /TMP dizin monitörleri, fotoğraf yeniden düzenleyicileri, dosya taşıyıcıları ve sisteminizi düzensiz tutmaya yardımcı olmak için arka planda çalışmayı planlayabileceğiniz daha birçok minial görev vardır. Cron ile bilgisayarınız sadece fiziksel dairemin yapmasını dilediğim şekilde kendine bakabilir.

Cron ayarlarını hatırla

Neden Cron’a ihtiyacınız olduğunu ortaya çıkarmanın yanı sıra, deneyimlerimdeki Cron hakkında en zor şey sözdizimini hatırlamaktır. Belleği taahhüt edene kadar bunu tekrar tekrar tekrarlayın:

Dakika, saat, tarih, ay, hafta içi.

Dakika, saat, tarih, ay, hafta içi.

Dakika, saat, tarih, ay, hafta içi.

Daha da iyisi, en çok ihtiyaç duyduğunuzda elinizin altında olan anahtara sahip olmak için ücretsiz hile sayfamızı indirin!

Bu makalede, CRONTAB komutunu kullanarak arka plandaki görevleri otomatik olarak düzenli olarak nasıl planlayabileceğimizi ve çalıştırabileceğimizi göreceğiz.

Sık sık işle uğraşmak, sistem yöneticileri için göz korkutucu bir görevdir ve bu tür görevler, Linux veya Unix benzeri işletim sisteminde Cron Daemon kullanılarak insan müdahalesi olmadan arka planda otomatik olarak planlanabilir ve otomatik olarak çalıştırılabilir.

Örneğin, Linux Sistem Yedeklemesini, Dosyaların Senkronizasyonunu ve Senkronizasyonunu ve daha pek çok kişiyi, CRON işleri oluşturmak için planlanan görevleri çalıştırmak veya çevrimiçi araçları kullanmak için kullanılan Cron Daemon’u kullanarak otomatikleştirebilirsiniz.

Cron her dakika uyanır ve sayılabilir olan program görevlerini kontrol eder – CRONTAB (CRON tablosu), bu tür tekrarlanan görevleri planlayabileceğimiz bir tablodur.

İpuçları: Her kullanıcının görevleri oluşturmak, değiştirmek ve silmek için kendi crontabları olabilir. Varsayılan olarak CRON kullanıcılara etkinleştirilir, ancak /etc/cron. deny dosyasına bir giriş ekleyerek kullanıcıları kısıtlayabiliriz.

CRONTAB dosyası satır başına komuttan oluşur ve aslında altı alana sahiptir ve boşluk veya sekmeden ayrılır. Başlangıç beş alan görevleri çalıştırmak için zamanı temsil eder ve son alan komut içindir.

  • Dakika (0-59 arasında tutma değerleri)
  • Saat (0-23 arasında tutma değerleri)
  • Ayın günü (1-31 arasında tutma değerleri)
  • Yılın ayı (1-12 veya Jan-Aralar arasındaki değerleri tutun, her ayın adının ilk üç harfini kullanabilirsiniz, yani Ocak veya Haziran.)
  • Haftanın Günü (0-6 veya güneş-satış arasında değer tutun, burada da her günün adının ilk üç harfini, yani güneş veya evleni kullanabilirsiniz.)
  • Komut – Programlamak istediğiniz/yol//komut veya komut dosyası.

1. CRONTAB girişlerini listeleyin

Geçerli kullanıcı içi n-l seçeneği ile CRONTAB komutu ile görevi listeleyin veya yönetin.

2. CRONTAB girişlerini düzenleyin

CRONTAB girişini düzenlemek için aşağıda gösterildiği gibi seçeneği kullanın. Aşağıdaki örnekte VI Editor’da program işleri açılacaktır. Gerekli değişiklikleri yapın ve tuştan çıkın: Ayarı otomatik olarak kaydeden WQ tuşları.

3. Planlanan cron işlerini listeleyin

TECMINT adlı belirli bir kullanıcının planlanan işlerini, seçeneğ i-u (kullanıcı) v e-l (liste) kullanarak listelemek için.

Not: Yalnızca kök kullanıcının diğer kullanıcıların crontab girişlerini görmek için tam ayrıcalıkları vardır. Normal kullanıcılar başkalarını görüntüleyemez.

4. CRONTAB Girişini Kaldır

Dikkat: – r ile crontab parametresi, CRONTAB’dan onay almadan tam planlanan işleri kaldıracaktır. Kullanıcının crontabını silmeden önc e-i seçeneğini kullanın.

5. Crontab’ı Silmeden Önce Sor

-i ile crontab seçeneği, kullanıcının crontab’ını silmeden önce kullanıcıdan onay isteyecektir.

6. İzin Verilen Özel Karakterler (*, -, /, ?, #)

  • Yıldız işareti(*) – Alandaki tüm değerleri veya olası herhangi bir değeri eşleştirin.
  • Tire(-) – Aralığı tanımlamak için.
  • Eğik çizgi (/) – 1. alan /10, her on dakikada bir veya aralık artışı anlamına gelir.
  • Virgül (,) – Öğeleri ayırmak için.

7. Sistem Çapında Cron Programı

Sistem yöneticisi önceden tanımlanmış cron dizinini aşağıda gösterildiği gibi kullanabilir.

  • /etc/cron. d
  • /etc/cron. daily
  • /etc/cron. hourly
  • /etc/cron. aylık
  • /etc/cron. haftalık

8. Bir İşi Belirli Bir Süre İçin Planlayın

Aşağıdaki işler her gün saat 12:30’da /tmp’den boş dosyaları ve dizini siler. Crontab komutunu gerçekleştirmek için kullanıcı adını belirtmeniz gerekir. Aşağıdaki örnekte, kök kullanıcı bir cron işi gerçekleştirmektedir.

9. Ortak Program için Özel Diziler

Teller anlamlar
@yeniden başlat Sistem yeniden başlatıldığında komut çalışacaktır.
@günlük Günde bir kez veya @gece yarısı kullanılabilir.
@haftalık Haftada bir.
@yıllık Yılda bir [email protected] anahtar kelimesini de kullanabiliriz.

Aynısını kullanmak istiyorsanız, cron komutunun beş alanını anahtar sözcüklerle değiştirmeniz gerekir.

10. Çift ve işaretli Çoklu Komutlar(&&)

Aşağıdaki örnekte, komut1 ve komut2 günlük olarak çalışır.

11. E-posta Bildirimini Devre Dışı Bırakın.

By default, cron sends mail to the user account executing cronjob. If you want to disable it add your cron job similar to the below example. Using >/dev/null 2>Dosyanın sonundaki & 1 seçeneği, /dev/null altındaki cron sonuçlarının tüm çıktılarını yeniden yönlendirecektir.

Sonuç: Görevlerin otomasyonu, görevlerimizi daha iyi, hatasız ve verimli bir şekilde gerçekleştirmemize yardımcı olabilir. Terminalinizde man crontab komutunu yazarak daha fazla bilgi için bir crontab kılavuz sayfasına başvurabilirsiniz.

TecMint’te Yaptıklarımızı Takdir Ediyorsanız, Şunları Düşünmelisiniz:

TecMint, web üzerinde her türlü Linux Makalesi, Kılavuzu ve Kitabı için en hızlı büyüyen ve en güvenilir topluluk sitesidir. TecMint’i milyonlarca kişi ziyaret ediyor! herkese ÜCRETSİZ olarak sunulan binlerce yayınlanmış makaleyi aramak veya göz atmak için.

Okuduklarınızı beğendiyseniz, lütfen takdirinizin bir göstergesi olarak bize bir kahve ( veya 2 ) ısmarlamayı düşünün.

Hiç bitmeyen desteğiniz için minnettarız.

Bir Cron İşi Kurmak İçin Adım Adım Kılavuz

Hiç kendinizi düzenli olarak tekrarlayan görevler yaparken buldunuz mu? Örneğin, disk alanınızı korumak için her hafta geçici dosyaları silmek, yeni bilgiler toplamak için her hafta verileri kazıma veya “hatırlatma” kampanyaları için aynı kişiye tekrar eden e-postalar göndermek. Eğer öyleyse, planlanan herhangi bir zamanda sizin için görevleri otomatik olarak gerçekleştirecek bir CRON iş zamanlayıcısı ayarlamak isteyebilirsiniz.

Cron “Chron” dan geliyor, “Zaman” için Yunan önek. Linux veya Unix benzeri sistemlerde planlanan komutları yürütmek için bir arka plan programıdır, bu da görevleri belirtilen aralıklarla planlamanıza olanak tanır.

Eksileri Vs. CRONTAB VS. Cronjob

Cron: Cron, System Boot zamanlarında çalışan bir arka plan.

CRONTAB: CRONTAB (CRON Tablo), çalıştırılacak ve belirtilen zamanlarda Cron girişlerinin programını içeren bir dosyadır. Dosya konumu işletim sistemlerine göre değişir.

Cron Job veya Cron Programı: Cron Job veya Cron programı, gün, saat ve yürütme komutunu belirleyen belirli bir yürütme talimatları kümesidir. Crontab’ın birden fazla yürütme ifadesi olabilir.

Bir Cron işi kurmaya başlamadan önce, Cron işinin ne sıklıkta ve ne zaman çalışacağını nasıl belirleyeceğimizi bilmemiz gerekir.

Beş bölümden oluşur: dakika, saat, ayın günü, ay ve haftanın günü.

Örneğin, verilen kod 10 Haziran’da 08: 30’da bir iş yürütecektir.* Olası tüm birimler anlamına geldiğine dikkat edin. Daha fazla bilgi için GeeksForgeeks’ten daha fazla örnek kontrol edebilirsiniz.

CRONTA B-E CRONTAB dosyasını düzenleyin veya zaten yoksa bir tane oluşturun. CRONTA B-L CRONTAB CRONJOBS LİSTESİ, CRONTAB DOSYA İÇİNDEKİ EKRAN. CRONTA B-R CRONTAB dosyanızı kaldırın. CRONTA B-V EKRAN CRONTAB dosyanızı en son düzenlediğinizde.(Bu seçenek yalnızca birkaç sistemde mevcuttur.)

Metin Girişi Komutları

Geçerli imleç konumunu takip eden bir ek metin

Mevcut satırın sonuna kadar bir ekleme metni

Geçerli imleç konumundan önce metin ekliyorum

İmleç hattının başlangıcına metin ekliyorum

o Geçerli satırı takip eden yeni bir satır açın ve oraya metin ekleyin

O Mevcut satırın önünde yeni bir satır açın ve oraya metin ekleyin

Metin silme komutları

x Karakteri Sil

İmleçten DW Selgi

Çıkış Komutları

: WQ Dosyayı diske yazın ve editörden çıkın

:q! Bırak (uyarı yok)

: Q Quit (değiştirilmiş bir dosya kaydedilmediyse bir uyarı yazdırılır)

Yeni bir CRONTAB dosyası başlatmak için, terminalinize CRONTA B-E yazmanız gerekir (not: Bu komutu yürütmek istediğiniz dosyayla aynı dizinde yazmak gerekli değildir.) Bundan sonra, boş bir VIM açacaksınızeditör. Daha sonra zaman sözdizimini ve yürütmek istediğiniz dosyanın konumunu yazabiliriz.

Bu satırı VIM Editor’un içine ekleyin: * * * * * /File /script. py’ye giden yol

Bu sizin için çalışıyorsa, işiniz bitti! Az önce bir cron işi yarattın.

Değilseniz, endişelenmeyin, okumaya devam edin.❤

Çözüm 1: Python yürütülebilir bir konum ekleme

Bu hata mesajını “/bin/sh: /users/xxx/documents/python/shellscript. sh: izin reddedildi” gibi bu hata mesajını alırsanız, bir Python yürütülebilir yolu eklemeyi deneyebilirsiniz.

Bu komut satırı Python yürütülebilir yolunu döndürür. Python yürütülebilir dosyasını ekleyerek Cron artık Python komut dosyasını yürütebilir.

* * * * * /Python yürütülebilir yolu / /file /script. py yol

Çözüm 2: Mac’te Güvenlik ve Gizliliğin Değiştirilmesi

Bu hata mesajını “[errno 1] işlemine izin verilmiyor” gibi alırsanız,/usr/sbin/cron klasörünü sistem tercihinde tam disk erişimi için sürüklemeye yardımcı olabilir.

You might want to check whether the cron job is running fine. To do so, you can create a log file that collects the cron execution log. By adding this >>/tmp/test. txt Dosya adından sonra, Cronjob’un çıktısını test. txt dosyasına kaydedeceksiniz.

* * * * * /PATH TO FILE/script. py >>/tmp/test. txt

İşte aldın! Bir Cron işi kurmak oldukça kolay ve anlaşılır ve hayatlarımızı çok daha kolay hale getirecektir. Herhangi bir öneriniz varsa, lütfen yorum bölümünde paylaşmaktan çekinmeyin.

Bunu yararlı bulursanız, lütfen beni takip edin ve diğer bloglarıma göz atın.❤️

CRON, Linux’un çeşitli dağılımları hakkındaki görevleri planlamanıza izin veren çok kullanışlı bir araçtır. Görevler en yaygın olarak Cron Jobs olarak bilinir ve çok çeşitli sistem işlemlerini otomatikleştirmek için kullanılabilir. Diğer şeylerin yanı sıra, CRON Jobs periyodik sistem taramaları planlamak, güncellemeleri kontrol etmek, e-postaları göndermek, yedekler oluşturmak ve çok daha fazlası için kullanılabilir.

İşlemleri bu şekilde planlamak ilk başta biraz göz korkutucu görünebilir, ancak endişelenmeyin çünkü göründüğü kadar zor değildir. Bu makalede, yepyeni bir Linux kullanıcısı olsanız bile crontab’ı nasıl kullanacağınızı öğrenebilmeniz için süreci adım adım tanımlamaya çalışacağız.

Crontab dosyaları hakkında bilmeniz gereken her şey

Daha çok crontab olarak bilinen cron tablosu, temel olarak cron işlerinin programlanmasıyla ilgili bilgileri içeren bir metin dosyasıdır. Bu yardımcı program, mevcut görevleri hem oluşturmak hem de düzenlemek için kullanılabilir. Bilmeniz gereken iki ana crontab dosyası türü vardır – kullanıcıya özel ve sistem çapında.

Adından da anlaşılacağı gibi, kullanıcıya özel crontab dosyaları her bir kullanıcı için ayrı ayrı oluşturulur. Bu dosyalar, çalıştırdığınız Linux dağıtımına bağlı olarak iki yerden birinde saklanabilir. Debian tabanlı sistemlerde, dosyaları /var/spool/cron etiketli dizinde bulacaksınız. Bu arada, RedHat tabanlı sistemlerde crontab’lar, /var/spool/cron/crontabs olarak bilinen biraz farklı bir dizinde bulunur.

Sistem çapındaki crontab dosyaları söz konusu olduğunda, bunlar /etc/cron. d etiketli dizinde bulunur. Kullanıcıya özel crontab dosyaları mevcut çalışan kullanıcı tarafından düzenlenebilirken, sistem genelindeki dosyalar yalnızca sistem yöneticileri tarafından düzenlenebilir.

Crontab Sözdizimi ve Operatörler

Crontab sözdizimi, tek bir boşlukla ayrılan altı farklı alandan oluşur. İlk beş alan, planlamak istediğiniz cron işinin saatini ve tarihini tanımlayan değerleri içerir. Bu sırada altıncı alan, yürütülmesi gereken komutları veya betikleri içerir. Size biraz görsel bir gösterge vermek için, sözdizimi şöyle görünecektir:

Yıldız (*) operatörü, bu sözdizimi bağlamında “her zaman” veya “her” anlamına gelir. Örneğin, Haftanın Günü alanına yıldız işareti koyarsanız, zamanlanan cron işi her haftanın o gününde yürütülür.

Tire (-) operatörü, belirli bir değer aralığı belirtmek için kullanılabilir. Örneğin, Ayın Günü alanında 1-10 aralığınız varsa, cron işi her ayın yalnızca ilk 10 günü boyunca çalışır.

Belirli aralıklarla tekrarlanması gereken görevlerin bir listesini planlamak istediğinizde virgül operatörü (,) kullanışlı olur. Örneğin Haftanın Günü alanına 2, 4, 6 yazarsanız cron işi sadece Salı, Perşembe ve Cumartesi günleri çalışacaktır. Virgül operatörü, 10-15, 25-30 gibi çoklu aralıkları tanımlamak için tire operatörü ile birlikte kullanılabilir. Ayın Günü alanında bu aralıklara sahipseniz, görev her ayın yalnızca 10. ve 15. günleri arasında ve ardından 25. ve 30. günleri arasında çalışacaktır.

Slash (/) operatörü, belirli aralıklarla yürütülmesi gereken cron işlerini planlamak için de kullanılabilmesi için virgülle benzer. Ancak, biraz farklı çalışıyor. Örneğin, ayın gününde */ 3 yazıyorsanız, görev ayın ilk gününden başlayarak her üç günde bir çalışacaktır. Aslında 0, 3, 6, 9, 12 vb. Yazmanın eşdeğeridir. Çöpten önceki yıldız işareti 2-20 gibi bir değer aralığı ile değiştirilebilir. Örneğin, ayın gününde 2-20/3’ünüz varsa, görev ayın ikinci gününden başlayarak her üç günde bir çalışacaktır ve 20. günden sonra koşmayı bırakacaktır.

Sistem çapında crontab dosyaları

Şimdiye kadar tartıştığımız sözdizimi yalnızca kullanıcıya özgü crontab dosyalarıyla çalışır. Sistem çapında dosyalarla çalışıyorsanız, biraz farklı bir sözdizimi ve ek alanı kullanmanız gerekir. Bu yedinci alan, görevin hangi kullanıcı veya kullanıcıların çalışması gerektiğini ve komut alanından önce eklenmesi gerektiğini belirtmek için kullanılır. Başka bir deyişle, sistem çapında crontab dosyaları için sözdizimi böyle bir şey sevmelidir:

Önceden tanımlanmış makrolar nasıl kullanılır

CRON operatörlerinin nasıl kullanılacağını bilmek kullanışlı olabilir, ancak makrolarla çalışarak işleri daha da kolaylaştırabilirsiniz. Makrolar, çok özel değerler gerektirmeyen CRON işlerini hızlı bir şekilde planlamak için yukarıda belirtilen beş alan yerine kullanılabilecek kısayollardır. İşte bilmeniz gereken en yaygın kullanılan Crontab makroları:

@Reboot – Sisteminizi her önyükleme yaptığınızda çalıştırmak için cron işlerini planlamak için kullanılabilir.

@Hourly – Cron işlerini saatte bir kez çalıştırmak için planlamak için kullanılabilir. Nihai sonuç, beş sözdizimi alanında 0 * * * * ‘a yazma ile aynı olacaktır.

@Daily – CRON işlerini gece yarısından başlayarak günde bir kez çalıştıracak şekilde planlamak için kullanılabilir. Nihai sonuç, beş sözdizimi alanında 0 0 * * * ‘daki yazma ile aynı olacaktır.

@Weekly – CRON işlerini gece yarısı Pazar günü başlayarak haftada bir kez çalıştıracak şekilde kullanılabilir. Sonuç, beş sözdizimi alanında 0 0 * * 0 yazma ile aynı olacaktır.

@monthly – Cron işlerini gece yarısı ayın ilk gününden başlayarak ayda bir kez çalıştıracak şekilde kullanılabilir. Nihai sonuç, beş sözdizimi alanında 0 0 1 * * ‘deki yazma ile aynı olacaktır.

@Yearly – Cron işlerini 1 Ocak gece yarısından başlayarak yılda bir kez çalıştırmak için kullanılabilir. Nihai sonuç, beş sözdizimi alanında 0 0 1 1 * ‘te yazma ile aynı olacaktır.

Crontab komutunu nasıl kullanılır

CRONTAB dosyaları manuel olarak düzenlenebilir, ancak özellikle çok deneyimli bir kullanıcı değilseniz ve hala bir şeyleri anlamaya çalışıyorsanız, CRONTAB komutunu kullanmak genellikle daha iyi bir fikirdir. CRONTAB komutunu kullanmak, yalnızca dosyaları düzenlemenize değil, aynı zamanda CRON işlerini eklemenize ve kaldırmanıza veya şu anda planlanan görevlerinizi basitleştirilmiş bir şekilde görüntülemenize olanak tanır. CRONTAB komutunda çalışmak için bir dizi seçeneğiniz var. İşte akılda tutmanız gereken ana olanlar:

CRONTAB – E: Bu seçenek yeni bir CRONTAB dosyası oluşturmanıza veya zaten var olan bir dosyayı düzenlemenize olanak tanır.

CRONTAB – L: Bu seçenek, çalıştığınız mevcut Crontab dosyasının içeriğini görüntülemenize olanak tanır.

CRONTAB – R: Bu seçenek geçerli CRONTAB dosyasını kaldırmanıza izin verir.

CRONTAB – I: Bu seçenek bir öncekiyle aynıdır, ancak geçerli CRONTAB dosyasını kaldırmadan önce size bir istem gösterir.

CRONTAB – U: Bu seçenek, belirtilen kullanıcının crontab dosyasını düzenlemek için kullanılabilir. Bu seçeneği kullanmak için sistem yöneticisi ayrıcalıklarına sahip olmanız gerekir.

CRONTAB değişkenleri hakkında dikkat edilmesi gereken birkaç şey

CRONTAB yardımcı programı, çalışma ortamınız için farkında olmak isteyebileceğiniz belirli değişkenleri otomatik olarak atar. Bu değişkenler değiştirilebilir, ancak hala CRON işlerini kullanmak için yeni iseniz, muhtemelen varsayılan değerlere bağlı kalmalısınız. En azından faydaya daha alışkın olana kadar. Aklınızda bulundurmanız gereken değişkenler:

İşlerin düzenli ve öngörülebilir bir programa göre gerçekleşmesi bilgisayarlarda önemlidir. Bu önemlidir çünkü insanlar olarak bazen dikkatimiz dağıldığı, aklımızda çok fazla şey olduğu veya tatilde olduğumuz için işleri güvenilir bir şekilde yapmayı hatırlamakta kötü olabiliriz. Bilgisayarlar işleri bir programa göre yapmakta gerçekten iyidir, ancak bilgisayar harekete geçmeden önce bir insanın bilgisayarı programlaması gerekir.

Bir bakıma, cron sistemi programlamaya kolay ve ilkel bir giriştir. Yalnızca bir dosyayı düzenleyerek bilgisayarınızın yapmasını istediğiniz şeyi yapmasını sağlayabilirsiniz. Dosyanın nerede tutulduğunu bilmek zorunda bile değilsiniz. Basit bir komut yazmanız, bilgisayarınızın izlemesini istediğiniz “tarifi” girmeniz ve çalışmanızı kaydetmeniz yeterlidir. O andan itibaren, bilgisayarınız, durması söylenene kadar belirtilen zamanda talimatlarınızı yürütür.

Tasarım gereği, cron karmaşık bir sistem değildir. İşte bu konuda bilmeniz gerekenler.

Daha fazla Linux kaynağı

  • Linux komutları hile sayfası
  • Gelişmiş Linux komutları kısa bilgi sayfası
  • Ücretsiz çevrimiçi kurs: RHEL Teknik Genel Bakış
  • Linux ağ oluşturma hile sayfası
  • SELinux hile sayfası
  • Linux ortak komutları hile sayfası
  • Linux kapsayıcıları nelerdir?
  • En son Linux makalelerimiz

Cron nedir?

Cron komutu Linux ve Unix’te o kadar yaygındır ve o kadar sık takılıyor ve yeniden keşfedildi ki, bir programda gerçekleşen bir şey için neredeyse genel bir terim. Bu bir otomasyon biçimidir ve bunun farklı uygulamaları olmasına rağmen (Dillon’un Cron, Vixie’nin Cron, Chrony ve diğerleri) ve Anacron ve SystemD zamanlayıcılar gibi varyasyonlar, sözdizimi ve iş akışı onlarca yıldır aynı kalmıştır.

Cron, yazıcılar ve e-posta gibi bir “makara” sisteminde çalışır. Yazıcıların ve e-postanın bir makara kullandığını bilmiyorsanız, sorun değil çünkü bir makara dosyasının amacı çok fazla düşünmeniz gerekmiyor. Bir Linux sisteminde, Dizin /VAR /Makara, kullanıcının doğrudan etkileşime girmesi gerekmediği önemli ancak düşük seviyeli dosyalar için merkezi bir merkez olarak tasarlanmıştır./Var /makarada yönetilen makaralardan biri kısaca CRON masaları veya “crontab” dır. Bir Linux sisteminde her kullanıcının – kendiniz dahil – bir crontab vardır. Kullanıcılar kendi crontablarını düzenleyebilir, görüntüleyebilir ve kaldırabilir. Buna ek olarak, kullanıcılar görevleri planlamak için crontab’larını kullanabilirler. Cron sisteminin kendisi crontabları izler ve bir crontab’da listelenen herhangi bir işin belirtilen zamanda yürütülmesini sağlar.

Cron ayarlarını düzenle

CRONTAB’ınız ı-E (Düzenleme için) seçeneğiyle birlikte CRONTAB komutunu kullanarak düzenleyebilirsiniz. Varsayılan olarak, çoğu sistem VIM metin düzenleyicisini çağırır. Eğer benim gibi VIM kullanmayın, o zaman kendiniz için farklı bir editör ayarlayabilirsiniz.

/. bashrc dosyası. Benimkini Emacs’a ayarladım, ancak Nano, Kate veya en sevdiğiniz editörün ne olursa olsun deneyebilirsiniz. Editör Çevre Değişkeni, terminalinizde hangi metin düzenleyicisini kullandığınızı tanımlarken, görsel değişken grafik modda hangi editörü kullandığınızı tanımlar:

Kabuk oturumunuzu yeni ayarlarınızla yenileyin:

Artık CRONTAB’ınızı tercih ettiğiniz düzenleyici ile düzenleyebilirsiniz:

Bir görev planlayın

Cron sistemi aslında bir takvim sistemidir. Cron’a beş farklı özellik kullanarak bir işin ne sıklıkta çalışmasını istediğinizi söyleyebilirsiniz: dakika, saat, tarih, ay, hafta içi. Bu özelliklerin sırası katıdır ve mutlaka sezgisel değildir, ancak bunları filtre veya maskeler olarak düşünebilirsiniz. Varsayılan olarak, her zaman veya her şeyin ayarlandığını düşünebilirsiniz. Bu giriş, tüm yıl boyunca her günün her saatinde her dakikanın en üstünde Touch /TMP /Merhaba çalıştırır:

Her öznitelik için belirli tanımlar ayarlayarak bu her şeyi kapsayan programı kısıtlayabilirsiniz. İşin her saatin yarım saatlik işaretinde çalışmasını sağlamak için dakikaları 30’a ayarlayın:

Bu talimatı belirli bir saatle daha da kısıtlayabilirsiniz. Bu iş her sabah saat 3: 30’da devam ediyor:

Ayrıca işi yalnızca her ayın ilkinde çalıştırabilirsiniz:

Aralık ayında 12 Ocak ayına kadar 1’i kullanarak bir ay ayarlayabilirsiniz ve Cumartesi için 6’ya kadar Pazar için 0’ı kullanarak bir gün ayarlayabilirsiniz. Bu iş Nisan ayı boyunca 3: 15’te, sadece Pazartesi günleri:

Artışları ayarlayın

Tüm bu ayarlar tam olarak bir değerle eşleşir. Ayrılmış bir zaman geçtikten sonra işleri çalıştırmak için CRON gösterimini de kullanabilirsiniz. Örneğin, her 15 dakikada bir iş çıkarabilirsiniz:

Her üç günde bir saat 10’da bir iş çıkarabilirsiniz:

Her altı saatte bir iş çıkarabilirsiniz:

Cron Shorthand

Modern CRON uygulamaları, ortak programlar için uygun bir stenografi eklemiştir. Bunlar:

  • @saatlik
  • @günlük
  • @haftalık
  • @aylık
  • @Yearly veya @Annally

Liste Cron Jobs

CRONTAB komutunu kullanarak, planlanan Cron işlerinizin bir listesini görebilirsiniz:

Bir krontabı kaldır

Bir crontab ile işiniz bittiğinde, – r seçeneğiyle kaldırabilirsiniz:

-İ seçeneği etkileşimli anlamına gelir. Dosyayı silmeden önce sizi onaylamayı ister.

Cron ne yapabilir

Nasıl kullanılacağını bilmek bir şeycron, ama ne için kullanılacağını bilmek başka bir şey. Klasik kullanım durumu iyi bir yedekleme planıdır. Bilgisayarınız günün çoğu veya bütün gün ve tüm gece için açıksa, önemli bir bölümün rutin bir yedeklemesini planlayabilirsiniz. Birincil veri bölümümde RDIFF-Backup adlı bir yedekleme uygulaması her gün sabah 3’te:

Başka bir yaygın kullanım sistem bakımıdır. Slackware masaüstümde, her Cuma öğleden sonra yerel depo kataloğumu güncelliyorum:

İndirme klasörümü düzenlemek için her üç günde bir 15: 00’de Ansible bir senaryo çalıştırabilirim:

Bilgi işlem ortamınızın sağlığına biraz yatırım uzun bir yol kat ediyor. Çıkarma komut dosyaları, dosya boyutu ve /TMP dizin monitörleri, fotoğraf yeniden düzenleyicileri, dosya taşıyıcıları ve sisteminizi düzensiz tutmaya yardımcı olmak için arka planda çalışmayı planlayabileceğiniz daha birçok minial görev vardır. Cron ile bilgisayarınız sadece fiziksel dairemin yapmasını dilediğim şekilde kendine bakabilir.

Cron ayarlarını hatırla

Neden Cron’a ihtiyacınız olduğunu ortaya çıkarmanın yanı sıra, deneyimlerimdeki Cron hakkında en zor şey sözdizimini hatırlamaktır. Belleği taahhüt edene kadar bunu tekrar tekrar tekrarlayın:

Dakika, saat, tarih, ay, hafta içi.

Dakika, saat, tarih, ay, hafta içi.

Dakika, saat, tarih, ay, hafta içi.

Daha da iyisi, en çok ihtiyaç duyduğunuzda elinizin altında olan anahtara sahip olmak için ücretsiz hile sayfamızı indirin!