← man/system_admin
cron — man cron — 80×24
ugur@toprak:~/man/system_admin$man cron
Bölüm 8 Sistem Yönetimi

cron

zamanlanmış komutları yürütmek için arka plan programı (Vixie Cron)

Özet

     cron [-s] [-o] [-x hata_ayiklama_bayragi[,...]]

Açıklama

cron aracı, /etc/crontab dosyasının veya /usr/lib/cron/tabs dizinindeki dosyaların varlığını gördüğünde launchd(8) tarafından başlatılır. Manuel olarak başlatılmasına gerek olmamalıdır. Ayrıntılar için /System/Library/LaunchDaemons/com.vix.cron.plist dosyasına bakın.

cron aracı, /etc/passwd dosyasındaki hesapların adını taşıyan crontab dosyaları için /usr/lib/cron/tabs dizinini arar; bulunan crontab'er belleğe yüklenir. cron aracı ayrıca farklı bir formatta olan /etc/crontab dosyasını da arar (bkz. crontab(5)).

Daha sonra cron aracı her dakika uyanır, tüm saklanan crontab'leri inceler ve her bir komutun geçerli dakika içinde çalıştırılması gerekip gerekmediğini kontrol eder. Komutlar yürütüldüğünde, varsa tüm çıktılar crontab sahibine (veya crontab'de varsa MAILTO ortam değişkeninde adı geçen kullanıcıya) postalanır.

Ek olarak cron, her dakika kuyruk dizininin (spool directory) değişiklik zamanının (veya /etc/crontab dosyasının değişiklik zamanının) değişip değişmediğini kontrol eder ve eğer değişmişse, cron tüm crontab'lerin değişiklik zamanını inceleyecek ve değişenleri yeniden yükleyecektir. Böylece, bir crontab dosyası her değiştirildiğinde cron'un yeniden başlatılması gerekmez. crontab(1) komutunun, bir crontab'i her değiştirdiğinde kuyruk dizininin değişiklik zamanını güncellediğini unutmayın.

Kullanılabilir seçenekler:

  • -s: Yerel saat diliminin GMT sapması değiştiğinde (örneğin standart saat ile yaz saati uygulaması arasındaki geçişler gibi) durumların özel olarak ele alınmasını etkinleştirir.

İşler, GMT sapması değişiklik zamanlarında sezgisel olarak beklendiği gibi çalışır. Bir iş, ortadan kalkan bir zaman aralığına denk gelirse (örneğin standart saatten yaz saatine geçiş sırasında) veya yinelenirse (örneğin tersi geçiş sırasında), iki yoldan biriyle ele alınır:

İlk durum, ortadan kalkan veya yinelenen aralıkla çakışan bir zaman aralığının her saatinde çalışan işler içindir. Başka bir deyişle, iş GMT sapması değişikliğinden önceki bir saat içinde çalışmışsa (ve bundan sonra cron yeniden başlatılmamış ya da crontab(5) değiştirilmemişse) veya değişiklikten sonraki saatte çalışacaksa. Her zamanki gibi çalışırlar, atlanan zamanı atlarlar veya eklenen zamanda her zamanki gibi çalışırlar.

İkinci durum ise daha seyrek çalışan işler içindir. Bunlar tam olarak bir kez yürütülür, atlanmazlar ve iki kez yürütülmezler (bu tür bir zaman aralığında cron yeniden başlatılmadığı veya kullanıcının crontab(5) dosyası değiştirilmediği sürece). GMT sapması değişikliği nedeniyle bir aralık ortadan kalkarsa, bu tür işler eski saat diliminde olacakları mutlak zaman noktasında yürütülür. Örneğin, tam olarak bir saat ortadan kalkarsa, bu nokta crontab(5) içinde kendileri için belirtilen ilk dakikada bir sonraki saat içinde olacaktır.

  • -o: Eski (varsayılan) davranışla uyumlu olması için, yerel saat diliminin GMT sapması değiştiğinde durumların özel olarak ele alınmasını devre dışı bırakır. Hem -o hem de -s seçenekleri belirtilmişse, en son belirtilen seçenek geçerli olur.

-x hata_ayiklama_bayragi[,...] Standart çıktıya hata ayıklama bilgilerinin yazılmasını etkinleştirir. Aşağıdaki virgülle ayrılmış hata ayıklama bayrağı tanımlayıcılarından biri veya daha fazı belirtilmelidir:

bit şu anda kullanılmıyor ext diğer hata ayıklama bayraklarını daha ayrıntılı hale getirir load crontab dosyalarını yüklerken ayrıntılı bilgi verir misc çeşitli tek seferlik olaylar hakkında ayrıntılı bilgi verir pars bireysel crontab satırlarını ayrıştırırken ayrıntılı bilgi verir proc tüm yavruları dahil olmak üzere sürecin durumu hakkında ayrıntılı bilgi verir sch zamanlama algoritmaları üzerinde yinelenirken ayrıntılı bilgi verir test yürütmeyi izler, ancak herhangi bir işlem gerçekleştirmez

Dosyalar

/usr/lib/cron/tabs Kişisel crontab dosyaları için dizin

Ayrıca Bakınız

crontab(1), launchctl(1), crontab(5), launchd.plist(5), launchd(8)

Yazarlar

Paul Vixie ⟨paul@vix.com

macOS 26.4 17 Haziran 2007 macOS 26.4