Quelle est l'histoire derrière les heures par défaut définies dans / etc / crontab?

19

À ma connaissance, il s'agit de la configuration par défaut de /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 )

Pourquoi ces heures spécifiques ont-elles été choisies pour les entrées par défaut?

Au début, j'ai supposé qu'ils étaient quelque peu aléatoires lors de l'installation pour équilibrer la charge du système, mais cela ne semble pas être correct.

Der Hochstapler
la source

Réponses:

22

Ubuntu a commencé en 2004 et est basé sur Debian. À ce moment-là, le crontab actuel était présent, donc nous pouvons retracer l'histoire de Debian pour trouver ses origines.

Voici la crontab de Debian 0.93R6 (novembre 1995). L'heure est présente, mais la minute est différente pour l'entrée 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

Par Debian 2.1 (9 mars 2009), cela a changé. L'entrée cron.hourly n'est pas encore présente, mais le reste du temps est identique à ce qu'il est actuellement:

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

Heureusement, Debian a des journaux des modifications, nous pouvons donc voir pourquoi cette modification a été apportée. J'ai lié le numéro de bogue, que Debian conserve heureusement:

  • Faites cron.daily un peu plus tôt, essayez d'éviter le chevauchement avec cron.weekly (ferme: Bug # 23023 ) (à partir de 3.0pl1-46)

Maintenant, pour savoir d'où venaient 6 heures du matin et 47 et 52, vous devrez revenir dans l'histoire pré-Debian. J'ai vérifié les sources originales de Vixie Cron , et cela ne semble pas provenir de là.

Pour autant que je sache, SLS 1.03 n'a pas livré cron, mais SLS 1.05 l'a fait. Cependant, il ne semble pas avoir été fourni avec / etc / crontab, et l'exemple de la page de manuel est différent. Elle n'a pas non plus run-parts.

En regardant les parties d'exécution de Debian 0.93R6 (paquetages divers), il semble que ce soit un outil spécifique à Debian (un court script Perl à l'époque). Donc, ces lignes cron proviennent probablement du tout début du développement Debian.

derobert
la source
Je vais voir si je peux le retracer plus loin. Éditera si je trouve quelque chose.
derobert
1
En creusant, je n'ai pas pu obtenir avant le 26 avril 1998 : crontab.5
Lekensteyn
@Lekensteyn archive.debian.org vous permet de télécharger les versions de Debian à 0.93R6.
derobert
@Lekensteyn vous pourriez regarder bsd ou UNIX: Gnu est basé sur UNIX (Gnu n'est pas UNIX).
ctrl-alt-delor