Cron, Unix benzeri işletim sistemlerinde zaman tabanlı bir iş zamanlama hizmetidir. Kullanıcılar işleri (komutlar veya komut dosyaları) belirli zamanlarda, tarihlerde veya aralıklarla çalışacak şekilde zamanlayabilirler. Bu özellik özellikle sistem bakım görevlerini otomatikleştirmek, komut dosyalarını çalıştırmak ve hatta belirli aralıklarla e-posta göndermek için kullanışlıdır.

Bir Cron İşinin Anatomisi

Bir Cron işinin yapısını anlamak çok önemlidir. Bir Cron işi, crontab (Cron tablosu) dosyasında belirli aralıklarla çalışması planlanan bir komutu temsil eden tek bir satırdır. Bir crontab girdisinin altı alanı vardır:

  1. Dakika (0 - 59)
  2. Saatler (0 - 23)
  3. Ayın günü (1 - 31)
  4. Ay (1 - 12)
  5. Haftanın günü (0 - 7, burada hem 0 hem de 7 Pazar gününü temsil eder)
  6. Yürütülecek komut

Bir Cron İşi Ayarlama

Bir Cron işi zamanlamak için crontab dosyasını düzenlemeniz gerekir. Bunu şu komutu kullanarak yapabilirsiniz crontab -e komutunu kullanarak crontab dosyasını bir metin düzenleyicide açabilirsiniz. İşte hızlı bir yol gösterici:

  1. Crontab'ın açılması: Çalıştır crontab -e komutunu kullanabilirsiniz. Bu, crontab dosyasını varsayılan düzenleyicinizde açar.
  2. Cron İşi Ekleme: Yeni bir satırda, zamanlama parametrelerini (dakika, saat vb.) ve ardından komutu belirtin.
  3. Kaydetme ve Çıkma: Değişiklikleri kaydedin ve düzenleyiciden çıkın.

Yaygın Cron İş Örnekleri

Cron'un çok yönlülüğü, çok çeşitli kullanım durumları aracılığıyla gösterilebilir. İşte birkaç örnek:

  • Bir dizini günlük olarak yedekleyin: Belirli bir dizini günlük olarak yedeklemek için bir Cron işi zamanlayabilirsiniz. Dizinin /home/kullanıcıadı/belgeler olduğunu ve yedeklemenin her gün saat 2'de yapılmasını istediğinizi varsayalım.0 2 * * * tar -zcf /var/backups/home.tgz /home/username/documents
  • Her dakika bir komut dosyası çalıştırılıyor: Bir betiğiniz varsa (örneğin, /home/kullanıcıadı/script.sh adresinde bulunan script.sh), bunu her dakika çalışacak şekilde zamanlayabilirsiniz.* * * * * /home/username/script.sh
  • Her pazartesi bir e-posta gönderiyorum: Diyelim ki bir mail.txt dosyanız var ve içeriğini her Pazartesi saat 17:00'de e-postayla göndermek istiyorsunuz. mail komutunu Cron ile birlikte kullanabilirsiniz.0 17 * * MON cat /home/username/mail.txt | mail -s "Weekly Update" [email protected]

Gelişmiş Cron İpuçları ve Püf Noktaları

Cron güçlü ve esnek olsa da, kullanımını optimize etmenize yardımcı olabilecek birkaç ipucu ve püf noktası vardır:

  • PATH ayarı: Görevleri zamanlarken, mutlak yolları belirtmeden tüm komutların bulunmasını sağlamak için crontab dosyasının en üstünde PATH ortam değişkenini ayarlayabilirsiniz.
  • Çıkış Yönlendirme: Varsayılan olarak, Cron cronjob'u çalıştıran kullanıcı hesabına bir e-posta gönderir. Bu gerekli değilse, çıktıyı /dev/null adresine yönlendirebilirsiniz.
  • Cron İşlerini Günlüğe Kaydetme: Bir cron işini takip etmek için, bunun yerine çıktıyı bir günlük dosyasına yönlendirebilirsiniz.

Cron'un Sınırlamaları ve Alternatifleri

Avantajlarına rağmen, Cron sınırlamalardan yoksun değildir. Daha gelişmiş görev zamanlayıcılarında bulunan iş bağımlılıkları, iş zincirleme ve ayrıntılı raporlama gibi özelliklerden yoksundur.

Cron'un birkaç güçlü alternatifi bulunmaktadır:

  1. Anacron: Sürekli çalışmayan sistemler için idealdir.
  2. Fcron: Hem Cron hem de Anacron'un işlevselliğini gelişmiş özelliklerle birleştirir.
  3. Systemd Zamanlayıcıları: Systemd tabanlı Linux dağıtımlarında Cron için modern bir yedek.

Daha Fazla Öğrenme

Cron'un gücüyle, aksi takdirde manuel olarak çalıştıracağınız neredeyse tüm görevleri otomatikleştirebilirsiniz. Basit yapısı ve esnek zamanlama seçenekleri, onu Unix benzeri sistem yöneticilerinin araç setinde temel bir unsur haline getirir.

SSS

Cron işlerinizi görüntülemek için crontab -l Komuta.

Bir Cron işini kaldırmak için crontab -e komutunu kullanarak crontab dosyasını açın, kaldırmak istediğiniz işin satırını silin, ardından kaydedin ve çıkın.

Evet, varsayılan olarak Cron kullanıcı hesabına işin çıktısını içeren bir posta gönderir. Alternatif olarak, işin çalıştırılıp çalıştırılmadığını kontrol etmek için Cron işinizi bir günlük dosyasına çıktı yazacak şekilde ayarlayabilirsiniz.

Evet, her kullanıcı işleri zamanlamak için kendi crontab'ına sahip olabilir.

Cron iş çıktılarını oraya gönderdiği için posta kutunuzu kontrol edin. Çıktı yeniden yönlendirmesi ayarlanmışsa ilgili dosyayı kontrol edin. Ek olarak, Cron işinizin komut ve zamanlama alanlarını kontrol edin ve doğru sözdiziminden emin olun.

Proxy Seçin ve Satın Alın

Veri Merkezi Proxyleri

Dönen Proxyler

UDP Proxyleri

Dünya Çapında 10.000'den Fazla Müşterinin Güvendiği

Vekil Müşteri
Vekil Müşteri
Vekil Müşteri flowch.ai
Vekil Müşteri
Vekil Müşteri
Vekil Müşteri