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


19

Per quanto ne so, 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?

Inizialmente ho pensato che fossero in qualche modo randomizzati durante l'installazione per uniformare il carico del sistema, ma ciò non sembra corretto.

Risposte:


22

Ubuntu è iniziato nel 2004 ed è basato su Debian. A quel punto, l'attuale crontab era presente, quindi possiamo tracciare la storia 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

Con Debian 2.1 (9 marzo 2009), è cambiato. La voce cron.hourly non è ancora presente, ma il resto dei tempi sono gli stessi di quelli 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 log delle modifiche, quindi possiamo vedere perché questo cambiamento è stato fatto. Ho collegato il numero di bug, che per fortuna Debian tiene in giro:

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

Ora, scoprendo da dove provengono le 6 e 47 e 52, dovrai tornare indietro alla storia pre-Debian. Ho controllato le fonti originali di Vixie Cron e non sembra provenire da lì.

Per quanto ne so, SLS 1.03 non ha fornito cron, ma SLS 1.05 l'ha fatto. Tuttavia, non sembra essere arrivato con un / etc / crontab e l'esempio nella manpage è diverso. Né ha un run-parts.

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


Vedrò se riesco a rintracciarlo ulteriormente. Modificherò se trovo qualcosa.
derobert l'

1
Mentre scavavo, non riuscivo a ottenere prima del 26 aprile 1998 : crontab.5
Lekensteyn,

@Lekensteyn archive.debian.org ti consente di scaricare le versioni di Debian su 0.93R6.
derobert l'

@Lekensteyn potresti guardare bsd o UNIX: Gnu è basato su UNIX (Gnu non è UNIX).
ctrl-alt-delor
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.