Яка історія за часом за замовчуванням, встановленим в / etc / crontab?


19

Наскільки я розумію, це конфігурація за замовчуванням /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 )

Чому саме цей час було обрано для записів за замовчуванням?

Спочатку я припускав, що вони дещо рандомізовані при встановленні, щоб вирівняти завантаження системи, але це не здається правильним.

Відповіді:


22

Ubuntu стартував у 2004 році та базується на Debian. На той момент нинішній кронтаб був присутній, тому ми можемо простежити історію Debian, щоб знайти її витоки.

Ось кронт на Debian 0.93R6 (листопад 1995). Година присутня, але хвилина для запису 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

За Debian 2.1 (9 березня 2009 р.) Він змінився. Запис у cron.hourly ще немає, але решта часу такі ж, як і зараз:

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

На щастя, у Debian є журнали змін, тому ми можемо зрозуміти, чому ця зміна була здійснена. Я зв'язав номер помилки, який, на щастя, Debian підтримує:

  • Зробіть cron.daily трохи раніше, намагайтеся уникати перекриття cron.weekly (закривається: помилка № 23023 ) (від 3.0pl1-46)

Тепер, дізнавшись, звідки прийшли 6 ранку та 47 та 52, вам доведеться знову повернутися до історії перед Debian. Я перевірив оригінальні джерела Vixie Cron , і, здається, не надходить звідти.

Наскільки я можу сказати, SLS 1,03 не постачав cron, але SLS 1,05 . Однак, схоже, він не входить з / etc / crontab, і приклад на сторінці вказується іншим. Він також не має run-parts.

З огляду на запущені частини Debian 0.93R6 (пакунки), здається, що це специфічний для Debian інструмент (короткий сценарій Perl тоді). Тож ці кронні лінії, ймовірно, походять від дуже раннього розвитку Debian.


Я буду бачити, чи зможу я простежити це далі. Відредагую, якщо я щось знайду.
дероберт

1
Під час копання я не міг отримати раніше 26 квітня 1998 року : crontab.5
Lekensteyn

@Lekensteyn archive.debian.org дозволяє завантажувати версії Debian до версії 0.93R6.
дероберт

@Lekensteyn ви можете подивитися на bsd або UNIX: Gnu заснований на UNIX (Gnu не UNIX).
ctrl-alt-delor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.