私の理解では、これは/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 )
デフォルトのエントリにこれらの特定の時間が選択されたのはなぜですか?
最初は、システム負荷を均等にするためにインストール時に多少ランダム化されると想定していましたが、それは正しくないようです。
Ubuntuは2004年に開始され、Debianに基づいています。そのときまでに、現在のcrontabが存在していたので、Debianの歴史をたどってその起源を見つけることができます。
Debian 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
Debian 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
ありがたいことに、Debianには変更ログがあるため、この変更が行われた理由を確認できます。ありがたいことにDebianが保持しているバグ番号をリンクしました:
さて、午前6時と47と52がどこから来たのかを知るには、Debian以前の歴史に戻る必要があります。 元のVixie Cronのソース を確認しましたが、そこから来ているようには見えません。
私が知る限り、 SLS 1. はcronを出荷しませんでしたが、 SLS 1.05 は出荷しました。ただし、/ etc/crontabが付属していないようで、マンページの例は異なります。 run-parts
もありません。
Debian 0.93R6の実行部分(パッケージのミスカット)を見ると、Debian固有のツールのようです(当時の短いPerlスクリプト)。したがって、これらのcron行は、おそらく非常に初期のDebian開発からのものです。