Qual è la storia dietro i tempi di default impostati in / etc / crontab?

17

A mio parere, questa è la configurazione predefinita di /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 )

Perché sono stati scelti questi orari specifici per le voci predefinite?

All'inizio ho pensato che fossero un po 'randomizzati sull'installazione per pareggiare il carico del sistema, ma non sembra corretto.

    
posta Der Hochstapler 11.06.2012 - 18:49

1 risposta

21

Ubuntu è nato nel 2004 e si basa su Debian. A quel punto, era presente l'attuale crontab, quindi possiamo risalire alla cronologia di Debian per trovare le sue origini.

Ecco il crontab di Debian 0.93R6 (novembre 1995). L'ora è presente, ma il minuto è diverso per la voce cron.daily:

# 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

Di Debian 2.1 (9 marzo 2009), è cambiato. La voce cron.hourly non è ancora presente, ma il resto delle volte è lo stesso di come sono attualmente:

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

Per fortuna, Debian ha i cambiamenti di sistema, quindi possiamo capire perché questo cambiamento è stato fatto. Ho collegato il numero del bug, che fortunatamente Debian conserva in giro:

  • Fai cron.daily un po 'prima, cerca di evitare la sovrapposizione con cron.weekly (si chiude: Bug # 23023 ) (da 3.0pl1-46)

Ora, scoprendo da dove sono venute le 6 e le 47 e le 52, dovrete tornare alla storia pre-Debian. Ho controllato le sorgenti originali di Vixie Cron , e non funziona sembra che venga da lì.

Per quanto posso dire, SLS 1.03 non ha spedito cron , ma SLS 1.05 ha fatto. Tuttavia, non sembra che sia arrivato con / etc / crontab, e l'esempio nella manpage è diverso. Né ha un run-parts .

Guardando le parti run da Debian 0.93R6 (pacchetti miscutils), sembra che sia uno strumento specifico per Debian (un breve script Perl allora). Quindi quelle linee cron probabilmente provengono dal primissimo sviluppo di Debian.

    
risposta data derobert 11.06.2012 - 19:25

Leggi altre domande sui tag