¿Cuál es la historia detrás de los tiempos predeterminados establecidos en / etc / crontab?

19

A mi entender, esta es la configuración predeterminada 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 )

¿Por qué se eligieron estos tiempos específicos para las entradas predeterminadas?

Al principio supuse que están algo aleatorizados en la instalación para igualar la carga del sistema, pero eso no parece ser correcto.

Der Hochstapler
fuente

Respuestas:

22

Ubuntu comenzó en 2004 y está basado en Debian. Para entonces, el crontab actual estaba presente, por lo que podemos rastrear a través de la historia de Debian para encontrar sus orígenes.

Aquí está el crontab de Debian 0.93R6 (noviembre de 1995). La hora está presente, pero el minuto es diferente para la entrada 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

Por Debian 2.1 (9 de marzo de 2009), cambió. La entrada cron.hourly aún no está presente, pero el resto de las veces son las mismas que actualmente:

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

Afortunadamente, Debian tiene registros de cambios, por lo que podemos ver por qué se realizó este cambio. He vinculado el número de error, que afortunadamente mantiene Debian:

  • Haga cron.daily un poco antes, intente evitar la superposición con cron.weekly (cierra: Bug # 23023 ) (de 3.0pl1-46)

Ahora, descubriendo de dónde provienen las 6 a.m. y las 47 y 52, tendrá que volver a la historia anterior a Debian. He comprobado las fuentes originales de Vixie Cron , y no parece provenir de allí.

Por lo que puedo decir, SLS 1.03 no envió cron, pero SLS 1.05 sí. Sin embargo, no parece haber venido con un / etc / crontab, y el ejemplo en la página de manual es diferente. Tampoco tiene una run-parts.

En cuanto a las partes de ejecución de Debian 0.93R6 (miscutils del paquete), parece que es una herramienta específica de Debian (un breve script de Perl en ese entonces). Por lo tanto, esas líneas cron probablemente se originen desde un desarrollo muy temprano de Debian.

derobert
fuente
Voy a ver si puedo rastrearlo más. Se editará si encuentro algo.
derobert
1
Mientras cavaba, no pude obtener antes del 26 de abril de 1998 : crontab.5
Lekensteyn
@Lekensteyn archive.debian.org le permite descargar versiones de Debian a 0.93R6.
derobert
@Lekensteyn podría mirar bsd o UNIX: Gnu se basa en UNIX (Gnu no es UNIX).
ctrl-alt-delor