Neden kullanıcı giriş dizinlerinde crontab'lar saklanmıyor?


35

Bilmeyi merak ediyorum: neden crontab'lar kullanıcının ev dizinlerinden ziyade / var'da saklanıyor? Bu dosyaları yükseltmelere ayırmak tam bir acı veriyor ama mantıklı bir sebep olduğundan şüpheliyim ...

Yanıtlar:


41

Düşünebildiğim birkaç neden:

  • Kurumsal ortamlarda binlerce kullanıcınız olabilir. Öyleyse, cron, crontab dosyasını kontrol etmek için (her biri oluşturulmuş, silinmiş veya değiştirilmiş olsun) her bir kullanıcının dizinini her dakika taramak zorunda kalacak.
    Onları tek bir konumda tutarak, bu yoğun taramayı yapmak zorunda değildir.
  • Giriş dizinleri her zaman mevcut olmayabilir. Giriş dizinleri bir autofs mount ise, bunlar monte edilmeyebilir. Her dakika cronlarını kontrol etmeleri, monte edilmelerine neden olur ve hareketsizlik nedeniyle sökülmelerini önler. Ayrıca, giriş dizini şifrelenmiş ve kullanıcının şifresiyle şifresi çözülmüşse, cron, kullanıcı giriş yapıp şifresini çözme / bağlamadan önce giriş dizinine ulaşamaz.
  • Giriş dizinleri ana bilgisayarlar arasında paylaşılabilir. Giriş dizini bir ağ paylaşımıysa, aynı giriş dizini birden çok ana bilgisayarda görünecektir. Ancak cron işlerinin her bir ana bilgisayarda çalışmasını istemeyebilirsin, bunlardan sadece bir tanesi.

1
+1 Her ne kadar geleneksel olarak cronbu dosyaları her dakika yeniden taramadı; onları bir kez yükledi ve sadece bir sinyal ile tekrar okudu.
goldilocks

7
Fakat # 3 konusunda haklısın; wikipedia'ya göre crontabs aslen $ HOME’daydı , "[Bell lab devs] Unix’i cron’a dahil etti, crontab dosyalarını kullanıcıların ev dizinlerinden çıkardı (ana bilgisayara özgü olmayan) ve ortak bir ana bilgisayara özgü biriktirme dizini ... "Bu, aynı zamanda crontab, yeniden yükleme sorunuyla ilgili olabilecek komutun oluşturulduğu zamandır.
goldilocks

2
@Patrick Veya bir program utimessistem çağrısını kullandığında, biriktirme dizin yolu ile argüman olarak, Vixie cron crontabkomutunun yaptığı idarecinin mtime değerini ayarlar .
Mark Plotnick

2
Cron'un ilk sürümleri, crontab -e aracılığıyla düzenlenmemiş olmadıkça, kesinlikle kullanıcı crontab dosyalarındaki değişiklikleri alamazdı. Bu yıl yaşlı adam sayfası bkz Solaris üzerinde geçmişte bu tarafından yakalandı manpages.info/sunos/cron.1.html

2
crontab -eKöklü bir set olan Solaris 10, /etc/cron.d/FIFObir kullanıcı bir crontab düzenledikten sonra kendisine bir mesaj yazar .
Mark Plotnick
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.