Cron.d (/etc/cron.d/ ile olduğu gibi) ve crontab arasındaki fark nedir?


18

Cron.d (olduğu gibi /etc/cron.d/) ve dizini arasındaki temel fark nedir crontab?

Bildiğim kadarıyla anladığım kadarıyla, bir benzeri bir dosya oluşturabilir /etc/cron.d/my_non_crontab_cronjobsbiri koyacağımı gibi ve içindeki ne olursa olsun bir istediği koymak crontabyoluyla crontab -e.

Peki ikisi arasındaki temel fark nedir?


sistemdeki konum ve biçim.
Rui F Ribeiro

Biçim? Gördüğüm 2 örnekten 5 zaman birimi sözdizimi de var, ya da kafa karıştırıyorum crontab.
Arcticooling

Yanıtlar:


25

Farklılıklar ayrıntılı olarak belgelenmiştir manpage Debian'daki. Temel fark, ayrı dosyalarla doldurulması, kullanıcı başına bir dosya yönetilmesidir; böylece komut dosyası kullanımının içeriğini (otomatik yükleme ve güncellemeler için) ve bir düzenleyici kullanarak yönetimi daha kolaydır (gerçekten son kullanıcılar için).cron(8)/etc/cron.dcrontab/etc/cron.dcrontab

Diğer önemli farklılıklar, tüm dağıtımların desteklememesi /etc/cron.dve içindeki dosyaların /etc/cron.dbelirli sayıda gereksinimi karşılaması gerektiğidir (geçerli cron işleri olmanın ötesinde): köklere ait olmalı ve run-parts'adlandırma kurallarına ( yalnızca nokta yok , yalnızca nokta yok , harfler, rakamlar, alt çizgiler ve kısa çizgiler).

Eğer kullanmayı düşünüyorsanız /etc/cron.d, bu birini dikkate genellikle değer /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, veya /etc/cron.monthlyonun yerine.


1
Ve gerçek dünyadaki bir örnek için, içindeki öğeler cron.dgenellikle paket yüklemesi yoluyla eklenirken, çeşitli crontabdosyalar karşılık gelen bir kullanıcı tarafından oluşturulan şeylerle doludur. IE, certbotveya letsencryptpaket bir girdi koyar cron.d- paket kullanılabilir olmadan önce, sysadmin (root) kök kullanıcının crontabkabuk komut dosyasına / etc'ye işaret eden bir girdi ekler . sertifikaları güncel tutmak için.
ivanivan

Teşekkürler Stephen! Neden saatlik / haftalık / aylık cron dizinlerini kullanmanızı öneriyorsunuz? Ve BTW, neden man sayfasına cron (8) deniyor 8 için ne (crontab (1) adlı crontab için man sayfası).
Arcticooling

1
@Arcticooling, açıklaması için bu soruya bakın(8)
user4556274

Saatlik vb. Dizinler iş eklemeyi kolaylaştırır (tam sözdizimini bulmaya gerek yoktur) ve daha da önemlisi sistemin gerçek yürütme süresini koşullara bağlı olarak değiştirmesine izin verir; bu özellikle her zaman açık olmayan sistemlerde kullanışlıdır anacron.
Stephen Kitt

1
hourly|daily|weekly|monthlyDizinlerin dezavantajı (AFAICT), her zaman kök olarak çalışırlar ve daha az ayrıcalıkla çalışmayı doğrudan desteklemezler.
ilkkachu

5

Temel farkın bariz olanı olduğunu söyleyebilirim: /etc/crontabve /etc/cron.ddüzenli kullanıcılar tarafından değiştirilemezken /var/spool/cron, crontabaracın düzenlediği kullanıcı başına crontabs ise. (Tabi cron.allowve cron.denytabii ki,.) Elbette yönetici olan bir sistemde, ya kullanabilirsiniz. Paylaşılan bir sistemde, normal kullanıcılar yalnızca birini kullanabilir.

Bununla ilgili olarak, sistem genelindeki dosyalarda, işin altında çalıştığı kullanıcı adı olan fazladan alan vardır.

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.