Jaka jest historia domyślnych czasów ustawionych w / etc / crontab?


19

Według mnie jest to domyślna konfiguracja /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 )

Dlaczego wybrano te konkretne czasy dla wpisów domyślnych?

Początkowo zakładałem, że są one nieco losowe podczas instalacji, aby wyrównać obciążenie systemu, ale nie wydaje się to poprawne.

Odpowiedzi:


22

Ubuntu rozpoczęło się w 2004 roku i jest oparte na Debianie. Do tego czasu obecna tablica była już obecna, więc możemy prześledzić historię Debiana, aby znaleźć jej pochodzenie.

Oto crontab z Debiana 0.93R6 (listopad 1995). Godzina jest obecna, ale minuta jest inna dla wpisu 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

W Debianie 2.1 (9 marca 2009 r.) Zmieniło się. Wpis cron.hourly nie jest jeszcze obecny, ale reszta czasów jest taka sama jak obecnie:

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

Na szczęście Debian ma dzienniki zmian, więc możemy zobaczyć, dlaczego ta zmiana została wprowadzona. Podłączyłem numer błędu, który na szczęście Debian utrzymuje:

  • Zrób cron. Codziennie nieco wcześniej, staraj się unikać nakładania na cron. Co tydzień (zamyka: Bug # 23023 ) (od 3.0pl1-46)

Teraz, aby dowiedzieć się, skąd pochodzą 6 rano, 47 i 52, będziesz musiał wrócić do historii sprzed Debiana. Sprawdziłem oryginalne źródła Vixie Cron i wydaje się, że nie stamtąd pochodzą.

O ile wiem, SLS 1.03 nie wysyłał crona, ale SLS 1.05 tak. Jednak nie wydaje się, aby pochodziło z pliku / etc / crontab, a przykład na stronie podręcznika jest inny. Nie ma też run-parts.

Patrząc na części run z Debiana 0.93R6 (miscutils pakietów), wydaje się, że jest to narzędzie specyficzne dla Debiana (wtedy krótki skrypt Perla). Więc te linie cron prawdopodobnie pochodzą z bardzo wczesnego rozwoju Debiana.


Zobaczę, czy uda mi się to prześledzić dalej. Będę edytować, jeśli coś znajdę.
derobert

1
Podczas kopania nie mogłem dostać się wcześniej niż 26 kwietnia 1998 : crontab.5
Lekensteyn

@Lekensteyn archive.debian.org umożliwia pobranie wersji Debiana z powrotem do wersji 0.93R6.
derobert

@ Lekensteyn możesz spojrzeć na bsd lub UNIX: Gnu jest oparty na UNIX (Gnu nie jest UNIX).
ctrl-alt-delor
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.