CRM ve Veri PlatformlarıPazarlama Araçları

Cron'u Anlamak ve Kullanmak: İşleri Planlamak İçin Kapsamlı Bir Kılavuz

croniçin kısa komut çevrimiçi çalıştır, Unix benzeri işletim sistemlerinde güçlü, zamana dayalı bir iş zamanlayıcıdır. Dönem cron bu bir kelime oyunudur kronos or chronosYunan mitolojisinde zamanı temsil eden. Zamana dayalı iş zamanlayıcının cron adı, görevleri belirli zamanlarda veya aralıklarla planlama ve yürütme işlevini yansıtır ve bu da onu mitolojideki zaman kavramına uygun bir referans haline getirir.

Cron, tekrarlanan görevleri otomatikleştirmenize, komut dosyalarını belirli aralıklarla yürütmenize ve sistem verimliliğini korumanıza olanak tanır. Bu kapsamlı kılavuz, kurulumdan kullanıma, anahtar kelimelere ve gerçek kod örneklerine kadar cron hakkında bilmeniz gereken her şeyde size yol gösterecektir.

İçindekiler

  1. Cron nedir?
  2. Cron'u yükleme
  3. Temel Kavramlar ve Terminoloji
  4. Cron Söz Dizimi
  5. Örnekler ve Kullanım Durumları
  6. Yaygın Tuzaklar ve En İyi Uygulamalar
  7. Ek cron kaynakları

Cron nedir?

Cron, Linux ve macOS dahil Unix tabanlı sistemlerde çalışan bir arka plan sürecidir. Birincil amacı zamanlanmış görevleri otomatik olarak yürütmektir. Bu görevler basit komut dosyalarından sistem bakımı ve yedeklemelere kadar değişebilir.

Cron'u yükleme

Unix benzeri sistemlerin çoğunda cron önceden kuruludur. Bir terminal açıp şunu yazarak kullanılabilirliğini kontrol edebilirsiniz:

crontab -e

Bu komut cron tablosu düzenleyicisini açarsa, cron yüklüdür. Değilse sisteminizin paket yöneticisini kullanarak kurabilirsiniz. Örneğin Ubuntu'da şunları kullanabilirsiniz:

sudo apt-get install cron

Cron Kavramları ve Terminolojisi

Cron kullanımına dalmadan önce bazı temel kavramları ve terminolojiyi anlayalım:

Cron Diyagramı Açıklaması
  • crontab: Kısa cron tablosu, bir kullanıcı için zamanlanmış görevlerin listesini içeren bir dosyadır.
  • Cronjob: Belirli bir zamanda çalışacak şekilde zamanlanmış tek bir görev veya komut.
  • Alanlar: Her cronjob'ta işin ne zaman çalışacağını tanımlayan beş alan bulunur:
    • Dakika (0-59)
    • Saat (0-23)
    • Ayın günü (1-31)
    • Ay (1-12)
    • Haftanın günü (0-7, hem 0 hem de 7 Pazar'ı temsil eder)

Cron Söz Dizimi

Bir crontab girişinin sözdizimini anlamak çok önemlidir. Şu modeli takip ediyor:

* * * * * command-to-be-executed

İşte cron işinize ekleyebileceğiniz yorumlu bir açıklama:

# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php

Her yıldız işareti (*), cron ifadesindeki bir alanı temsil eder. Örneğin, bir işi her gün saat 3:30'a planlamak için şunu kullanırsınız:

30 15 * * * command-to-be-executed

Cron Örnekleri ve Kullanım Durumları

Cron kullanımını göstermek için bazı pratik örnekleri inceleyelim:

  • Günlük Bir Komut Dosyasını Çalıştırmak: Her gün gece yarısı bir komut dosyasını çalıştırmak için şunları kullanabilirsiniz:
0 0 * * * /path/to/script.sh
  • Her Saatte Bir Komut Dosyası Çalıştırma: Saatlik bir görev için şunu kullanın:
0 * * * * /path/to/script.sh
  • Haftalık Yedekleme: Pazar günleri saat 2'de haftalık yedekleme planlamak için şunu kullanın:
0 2 * * 0 /path/to/backup-script.sh
  • Bir Görevin Belirli Aylarda Çalıştırılması: Bir işi yalnızca Ocak ve Temmuz aylarında sabah 8:30'da çalıştırmak için:
30 8 * 1,7 * /path/to/script.sh

Cron Tuzakları ve En İyi Uygulamalar

  • Ortam Değişkenleri: Cron işleri, kabuğunuzun ortam değişkenlerini devralmadığından, cron işlerinizin gerekli ortam değişkenlerini ayarladığından emin olun.
  • İzinler: Betik dosyanızın izinlerini yürütülebilir olarak ayarladığınızdan emin olun. Senaryomu her yeniden kaydettiğimde, izinlerimin yeniden ayarlanması gerektiğini görüyordum!
  • Yol Değişkenleri: Göreceli yollarla ilgili sorunlardan kaçınmak için cron işleriniz içindeki yürütülebilir dosyalara ve komut dosyalarına giden tam yolu belirtin.
  • Test yapmak: Beklendiği gibi çalıştıklarından emin olmak için kritik cron işlerini ayarlamadan önce bunları güvenli bir ortamda test edin.
  • Günlüğü: Cron işlerinizin çıktısını, yürütülmesini ve olası hataları izlemek için bir günlük dosyasına yönlendirin.
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1

Bu cron işi bir komut dosyasını çalıştırır /path/to/script.sh her gün gece yarısı ve komut dosyası tarafından oluşturulan çıktı (hem stdout hem de stderr) günlük dosyasına eklenir.

/path/to/cron.log. Bu, izleme ve sorun giderme amacıyla cron işlerinin çıktısını yakalamak ve günlüğe kaydetmek için yaygın bir uygulamadır. Bu özel cron işi söz dizimini inceleyelim:

  • *0 0 * * *: Bu bölüm, cron işinin ne zaman çalışması gerektiğine ilişkin programı tanımlar. Bu durumda, her gün gece yarısında (0 saati 0 dakika geçe) çalışacak şekilde planlanır.
  • /path/to/script.sh: Bu, cron işi çalıştırıldığında yürütülecek komut veya komut dosyasıdır. Bu örnekte şu konumda bulunan bir komut dosyası gösterilmektedir: /path/to/script.sh.
  • >> /yol/giden/cron.log: Bu bölüm cron işinin standart çıktısını (stdout) adlı bir günlük dosyasına yönlendirir. cron.log da yerleşmiş /path/to/. >> operatörü çıktıyı günlük dosyasına ekler, böylece dosya yoksa oluşturulur ve zaten varsa çıktı dosyanın sonuna eklenir.
  • 2> & 1: Bu, hem standart çıktıyı (stdout) hem de standart hatayı (stderr) aynı günlük dosyasına yönlendirmek için kullanılır. 2 stderr'i temsil eder ve 1 stdout'u temsil eder. Bu yüzden, 2>&1 hem stdout hem de stderr'in daha önce belirtilen aynı günlük dosyasına yönlendirildiği anlamına gelir.

Cron, Unix tabanlı sistemlerde görevleri otomatikleştirmek için değerli bir araçtır. Esnek planlama seçenekleriyle sistem yönetimini basitleştirebilir ve verimliliği artırabilir. Sözdizimini anlayarak ve en iyi uygulamaları takip ederek, rutin görevlerinizi etkili bir şekilde otomatikleştirmek için cron'un gücünden yararlanabilirsiniz.

Ek Cron Kaynakları

Douglas Karr

Douglas Karr CMO'su AÇIK İÇGÖRÜLER ve kurucusu Martech Zone. Douglas düzinelerce başarılı MarTech startup'ına yardımcı oldu, Martech satın almaları ve yatırımlarında 5 milyar doların üzerindeki durum tespitine yardımcı oldu ve şirketlere satış ve pazarlama stratejilerini uygulama ve otomatikleştirme konusunda yardımcı olmaya devam ediyor. Douglas, uluslararası alanda tanınan bir dijital dönüşüm ve MarTech uzmanı ve konuşmacısıdır. Douglas aynı zamanda Dummie's Guide ve iş liderliği kitabının yayınlanmış yazarıdır.

İlgili Makaleler

Başa dön düğmeye
Kapanış

Adblock Algılandı

Martech Zone sitemizden reklam geliri, bağlı kuruluş bağlantıları ve sponsorluklar yoluyla para kazandığımız için size bu içeriği ücretsiz olarak sağlayabilir. Sitemizi gezerken reklam engelleyicinizi kaldırırsanız seviniriz.