/ Etc / crontab içinde ayarlanan varsayılan zamanların ardındaki hikaye nedir?


19

Anladığım kadarıyla, bu varsayılan yapılandırmasıdır /etc/crontab:

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

Bu belirli zamanlar neden varsayılan girişler için seçildi?

İlk başta, sistem yükünü eşitlemek için kurulumda biraz rastgele olduklarını varsaydım, ancak bu doğru görünmüyor.

Yanıtlar:


22

Ubuntu 2004 yılında başladı ve Debian'a dayanıyor. O zamana kadar, mevcut crontab mevcuttu, bu yüzden kökenlerini bulmak için Debian tarihini takip ediyoruz.

İşte Debian 0.93R6'nın (Kasım 1995) crontab'ı. Saat var, ancak cron.daily girişi için dakika farklı:

# m h dom mon dow user  command
42 6    * * *   root    run-parts /etc/cron.daily
47 6    * * 7   root    run-parts /etc/cron.weekly
52 6    1 * *   root    run-parts /etc/cron.monthly

Debian 2.1 (9 Mart 2009) ile değişti. Cron.hourly girişi henüz mevcut değil, ancak kalan zamanlar şu ankiyle aynı:

25 6    * * *   root    run-parts --report /etc/cron.daily
47 6    * * 7   root    run-parts --report /etc/cron.weekly
52 6    1 * *   root    run-parts --report /etc/cron.monthly

Neyse ki Debian'ın değişiklik kayıtları var, bu yüzden bu değişikliğin neden yapıldığını görebiliriz. Debian'ın tuttuğu şükür ki hata numarasını bağladım:

  • Cron.daily biraz daha erken yapın, cron.weekly ile örtüşmekten kaçının (kapanır: Hata # 23023) (3.0pl1-46'dan itibaren)

Şimdi, 06:00 ve 47 ve 52'nin nereden geldiğini bulmak, Debian öncesi tarihini takip etmek zorunda kalacaksınız. Orijinal Vixie Cron kaynaklarını kontrol ettim ve oradan gelmiyor gibi görünüyor.

Anlayabildiğim kadarıyla, SLS 1.03 cron göndermedi, ancak SLS 1.05 yaptı. Bununla birlikte, bir / etc / crontab ile gelmemiş gibi görünüyor ve manpagedeki örnek farklı. Ne de bir run-parts.

Debian 0.93R6'dan (paket miscutils) çalışma parçalarına bakıldığında, Debian'a özgü bir araç (o zamanlar kısa bir Perl betiği) gibi görünüyor. Bu cron çizgileri muhtemelen çok erken Debian gelişiminden kaynaklanmaktadır.


Daha fazla izleyip izleyemeyeceğimi göreceğim. Bir şey bulursam düzenler.
derobert

1
Kazarken , 26 Nisan 1998'den daha erken alamadım : crontab.5
Lekensteyn

@Lekensteyn archive.debian.org Debian sürümlerini 0.93R6'ya geri indirmenizi sağlar.
derobert

@Lekensteyn, bsd veya UNIX'e bakabilirsiniz: Gnu, UNIX'e dayanır (Gnu UNIX değil).
ctrl-alt-delor
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.