Was ist die Geschichte hinter den in / etc / crontab festgelegten Standardzeiten?

19

Nach meinem Verständnis ist dies die Standardkonfiguration von /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 )

Warum wurden diese bestimmten Zeiten für die Standardeinträge ausgewählt?

Zuerst habe ich angenommen, dass sie bei der Installation etwas zufällig angeordnet sind, um die Systemlast auszugleichen, aber das scheint nicht korrekt zu sein.

Der Hochstapler
quelle

Antworten:

22

Ubuntu wurde 2004 gestartet und basiert auf Debian. Zu diesem Zeitpunkt war die aktuelle crontab vorhanden, so dass wir die Debian-Geschichte nachverfolgen können, um ihre Ursprünge zu finden.

Hier ist die Crontab aus Debian 0.93R6 (November 1995). Die Stunde ist vorhanden, aber die Minute unterscheidet sich für den Eintrag 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

Mit Debian 2.1 (9. März 2009) wurde es geändert. Der Eintrag cron.hourly ist noch nicht vorhanden, aber der Rest der Zeiten ist derselbe wie aktuell:

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

Zum Glück hat Debian Änderungsprotokolle, sodass wir sehen können, warum diese Änderung vorgenommen wurde. Ich habe die Fehlernummer verlinkt, die Debian zum Glück beibehält:

  • Mach cron.daily etwas früher, versuche Überschneidungen mit cron.weekly zu vermeiden (schließt: Bug # 23023 ) (von 3.0pl1-46)

Wenn Sie nun herausfinden, woher 6 Uhr und 47 und 52 kamen, müssen Sie in die Vorgeschichte von Debian zurückkehren. Ich habe die Originalquellen von Vixie Cron überprüft und es scheint nicht von dort zu kommen.

Soweit ich das beurteilen kann, hat SLS 1.03 keinen Cron ausgeliefert, SLS 1.05 jedoch. Es scheint jedoch nicht mit einer / etc / crontab geliefert worden zu sein, und das Beispiel in der Manpage sieht anders aus. Es hat auch keinen run-parts.

Wenn man sich die Run-Parts von Debian 0.93R6 (Package Miscutils) ansieht, scheint es ein Debian-spezifisches Tool zu sein (damals ein kurzes Perl-Skript). Diese Cron-Linien stammen also wahrscheinlich aus sehr früher Debian-Entwicklung.

derobert
quelle
Ich werde sehen, ob ich es weiter verfolgen kann. Wird bearbeitet, wenn ich etwas finde.
Derobert
1
Beim Graben konnte ich nicht früher als 26. April 1998 bekommen : crontab.5
Lekensteyn
Mit @Lekensteyn archive.debian.org können Sie Debian-Releases zurück auf 0.93R6 herunterladen.
Derobert
@Lekensteyn Sie könnten sich bsd oder UNIX ansehen: Gnu basiert auf UNIX (Gnus nicht UNIX).
Strg-Alt-Delor