/ 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 )

이러한 특정 시간이 기본 항목으로 선택된 이유는 무엇입니까?

처음에는 시스템로드를 균일하게하기 위해 설치시 다소 무작위 적이라고 가정했지만 정확하지 않은 것 같습니다.



답변

우분투는 2004 년에 시작되었으며 데비안을 기반으로합니다. 그때까지 현재의 crontab이 있었으므로 데비안 역사를 통해 그 기원을 찾을 수 있습니다.

여기 데비안 0.93R6 (1995 년 11 월)의 crontab이 있습니다. 시간은 있지만 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

데비안 2.1 (2009 년 3 월 9 일)에 의해 변경되었습니다. 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

고맙게도 데비안에는 변경 로그가 있으므로이 변경이 발생한 이유를 확인할 수 있습니다. 고맙게도 데비안은 버그 번호를 연결했습니다.

  • cron.daily를 조금 더 일찍 수행하십시오 .cron.weekly와의 겹침을 피하십시오 (닫기 : Bug # 23023 ) (3.0pl1-46부터)

자, 오전 6시와 47시와 52 시가 어디에서 왔는지 알아 낸 후에는 데비안 이전의 역사를 따라야합니다. 원래 Vixie Cron 소스를 확인했지만 거기에서 나온 것으로 보이지 않습니다.

내가 알 수있는 한 SLS 1.03 은 cron을 제공 하지 않았지만 SLS 1.05 는 선적 하지 못했습니다. 그러나 / etc / crontab과 함께 제공되지 않은 것으로 보이며 맨 페이지의 예가 다릅니다. 그것도 없습니다 run-parts.

데비안 0.93R6 (패키지 miscutils)의 런-파트를 보면 데비안 전용 도구 인 것 같습니다 (이전에는 짧은 Perl 스크립트). 따라서 그 크론 라인은 아마도 초기 데비안 개발에서 비롯된 것입니다.