Какова предыстория времени, установленного в /etc /crontab?

Насколько я понимаю, это стандартная конфигурация /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 )

Почему эти конкретные времена были выбраны для записей по умолчанию?

Сначала я предположил, что они несколько рандомизированы при установке для выравнивания загрузки системы, но это не кажется правильным.

17 голосов | спросил Der Hochstapler 11 J0000006Europe/Moscow 2012, 20:49:18

1 ответ


21

Ubuntu запущен в 2004 году и основан на Debian. К тому моменту присутствовал текущий кронтаб, поэтому мы можем отслеживать историю Debian, чтобы найти его происхождение.

Вот crontab от 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 AM и 47 и 52, вам нужно будет вернуться в историю до Debian. Я проверил исходные источники Vixie Cron , и он не делает Кажется, оттуда.

Насколько я могу судить, SLS 1.03 не отправил cron , но SLS 1.05 . Однако, похоже, он не появился с /etc /crontab, и пример в man-странице отличается. Он также не имеет run-parts.

Глядя на run-parts из Debian 0.93R6 (пакет miscutils), он кажется его специфичным для Debian инструментом (коротким сценарием Perl тогда). Таким образом, эти cron-линии, вероятно, происходят из очень раннего развития Debian.

ответил derobert 11 J0000006Europe/Moscow 2012, 21:25:59

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132